1 unstable release
Uses new Rust 2024
| 0.3.0 | Apr 11, 2026 |
|---|
#6 in #riemannian
Used in 2 crates
215KB
3K
SLoC
volterra-solver
Beris-Edwards nematohydrodynamics solver for active nematics on 3D Cartesian grids.
Part of the volterra workspace.
Overview
volterra-solver implements the equations of motion for active liquid crystals. The Q-tensor evolves under the Beris-Edwards equation with co-rotation, strain coupling, and Landau-de Gennes molecular field. An incompressible velocity field is obtained via an FFT-based Stokes pressure solve. Concentration dynamics follow Cahn-Hilliard with exponential time differencing (ETD).
Topological disclination lines (charge +1/2 and -1/2) are detected by computing the holonomy of the nematic frame field around mesh plaquettes, using cartan-geo.
Modules
| Module | Contents |
|---|---|
molecular_field |
Landau-de Gennes free energy variation H = -dF/dQ |
beris_edwards_rhs |
Full time derivative of Q (dry and wet active models) |
stokes_solve |
FFT pressure projection for incompressibility |
ch_step_etd |
Cahn-Hilliard ETD integrator |
scan_defects |
Holonomy-based disclination detection |
EulerIntegrator / RK4Integrator |
Time-stepping schemes |
Example
use volterra_solver::run_dry_active_nematic;
use volterra_core::ActiveNematicParams;
let params = ActiveNematicParams { ..Default::default() };
let snapshots = run_dry_active_nematic(¶ms, 10_000)?;
License
Dependencies
~8.5MB
~172K SLoC