Direct numerical simulation code infrastructure for the two-dimensional computational model of a liquid bridge created between two cylinders held at a fixed distance between them, and subsequently allowed to fall under gravity. The key challenge is including contact angle dynamics over embedded solid geometries, as only recently (2024) implemented in Basilisk and expanded upon in the associated publication. The code supports the active collaboration on this topic with the Department of Mathematical Sciences and Department of Chemical Engineering at Loughborough University.
- 2D Basilisk-based solver for liquid bridge dynamics between cylinders
- Includes contact angle dynamics on embedded solids (contact-embed implementation)
- Useful for parameter sweeps in geometry, spacing and fluid properties
- Lightweight driver scripts to run example cases and organize outputs
- Basilisk (compiled with
qcc) - C compiler (gcc/clang)
- Visualization tools for post-processing (e.g., ffmpeg, imagemagick, gnuplot) β recommended:
sudo apt install ffmpeg imagemagick gnuplot
git clone https://github.com/rcsc-group/LiquidBridge2D
cd LiquidBridge2DFollow Basiliskβs installation instructions: http://basilisk.fr/src/INSTALL
A convenient shell script is provided to run example cases and collect outputs:
sh DriverCode/run_bridge_Fr.shThe script invokes the driver code and places outputs into organized folders for analysis and visualization.
Edit parameters in the driver/source to control:
- Effective nondimensional numbers (e.g., Froude or other scalings) via the driver code
- Cylinder spacing and radii (in the driver/source)
- Resolution / grid refinement (in the driver/source)
- Output frequency and visualization options (inside the driver code)
Key implementation notes:
- DriverCode/contact-embed.h contains the embedded-solid / contact-angle routines used by the solver.
- The main driver is DriverCode/liquid_bridge_Fr.c.
- run_bridge_Fr.sh wraps execution and output organization.
.
βββ DriverCode/ # Main driver scripts and code for simulations
β βββ contact-embed.h # Embedded-solid & contact-angle implementation
β βββ liquid_bridge_Fr.c # Main simulation driver/source (Basilisk)
β βββ run_bridge_Fr.sh # Shell script to run example cases and manage outputs
β
βββ LICENSE # License information
βββ README.md # Project documentationTypical outputs produced by the driver/script:
- Interface snapshots and data files for post-processing
- Time series / summary files with diagnostic quantities
- Optional animations (if visualization routines are enabled)
Output layout and file naming are managed by the run script; inspect DriverCode/run_bridge_Fr.sh for details.
Contributions welcome:
- Fork the repo
- Open issues to report bugs or request features
- Submit pull requests with improvements, tests, or documentation updates