Skip to content
This repository was archived by the owner on Dec 26, 2025. It is now read-only.

Computational Fungal Dynamics (v1.0)

Latest

Choose a tag to compare

@VatsalSy VatsalSy released this 18 Jan 08:53
· 1 commit to main since this release
ee1bc2f

Overview:

DOI License OpenMP
MPI Language Platform

This inaugural release of hyphal-flow introduces a three-phase viscoelastic framework for simulating droplet flow within a single fungal hypha branch, built upon the Basilisk C platform. The code captures fluid-structure interactions among a drop, a viscoelastic Kelvin–Voigt hyphal wall, and the surrounding cytoplasm.

Key Highlights

Three-Phase Viscoelastic Model

  • Distinct density, viscosity, and elastic properties for drop–hypha–cytoplasm
  • Log-conformation approach for stable simulation of elastic fluids
  • Non-coalescing interfacial mechanics and surface tension

Adaptive Mesh Refinement (AMR)

  • Automated refinement driven by phase fraction, curvature, and stress gradients
  • Tailored for complex interface tracking in multi-phase flow

High-Performance Scaling

  • Shared-memory parallelism via OpenMP
  • Optional MPI for distributed-memory systems
  • Event-driven time stepping for transient, multi-physics simulations

Configurable Physics

  • User-defined non-dimensional parameters (e.g., Oh, Bo, De, Ec)
  • Flexible solver options (explicit or implicit viscous terms)
  • Boundary conditions and domain settings adaptable to diverse scenarios

Installation

Clone the Repository

git clone https://github.com/VatsalSy/hyphal-flow.git
cd hyphal-flow

Configure Environment

./reset_install_requirements.sh
source .project_config
qcc --version
  • Installs Basilisk locally and sets compilation paths

Compile & Run

  • Single-Core/OpenMP
qcc -Wall -O2 -fopenmp -I$(PWD)/src-local testCases/hypha.c -o hypha -lm
export OMP_NUM_THREADS=4
./hypha
  • MPI
CC99='mpicc -std=c99' qcc -Wall -O2 -D_MPI=1 -I$(PWD)/src-local testCases/hypha.c -o hyphaMPI -lm
mpirun -np 8 ./hyphaMPI

Post-Processing

  • *Data Extraction: getData-elastic-nonCoalescence.c for field outputs
  • Interface Geometry: getFacet-threePhase.c for reconstructing phase boundaries

Known Limitations

  • Limited testing on non-spherical drop shapes
  • Experimental CPU/GPU benchmarks in progress

Citation

If you use hyphal-flow in your research, please cite:

@software{hyphal_flow_2024,
  author       = {Vatsal Sanjay},
  title        = {Hyphal Flow: A Three-Phase Viscoelastic Framework},
  year         = {2024},
  version      = {v1.0},
  url          = {https://github.com/VatsalSy/hyphal-flow}
}

License

Released under the GNU General Public License v3.0. See LICENSE for details.

Contributions and Feedback:

Fork this repository and create a Pull Request, or open an issue to suggest improvements. Thank you for using hyphal-flow.