Multiphase modeling in future versions
I want using FluidX3D for my projects — it’s incredibly fast and the free-surface support in single-phase simulations is already impressive. Would it be possible (or planned) to include two-phase or full multiphase modeling in future versions? I’m particularly interested in fluid–fluid interactions (water–air) with dynamic interface behavior.
Before developing multiphase flow capabilities, could we first address a more practical issue: the setting of contact angles? Currently, the single-phase flow model seems to default to a 90-degree contact angle between the free surface and the wall. Would it be possible to determine the contact angle by introducing a CSF (Continuum Surface Force) model similar to that in Fluent? For instance, the contact angle $\theta$ could be achieved by adjusting the direction of the interface normal vector near the wall. At the wall, the normal vector $\mathbf{n}$ must satisfy the boundary condition:
$$ \mathbf{n} \cdot \mathbf{n}_w = \cos \theta $$
where $\mathbf{n}_w$ denotes the unit normal vector of the wall.
P.S. Surface tension source term (CSF model)
Fluent employs the Continuum Surface Force (CSF) model proposed by Brackbill et al. to simulate surface tension effects. The source term for the momentum equation takes the form:
$$ \mathbf{F}_{\text{surf}} = \sigma \kappa \delta_s \mathbf{n} $$
where:
- $\sigma$ is the surface tension coefficient;
- $\kappa$ is the interface curvature, defined as $\kappa = -\nabla \cdot \mathbf{n}$ (with $\mathbf{n}$ being the interface normal vector, normalized from the volume fraction gradient);
- $\delta_s$ is the Dirac delta function near the interface, ensuring the source term acts only in the interfacial region;
- $\mathbf{n}$ is the interface normal vector, calculated from the gradient of the volume fraction $\alpha$ as: $\mathbf{n} = \frac{\nabla \alpha}{|\nabla \alpha|}$.