Quick reference for building MFC cases: working examples, compatibility rules, and configuration requirements.
Auto-generated from case_validator.py and examples/.
π§© Case Design Playbook
Learn by example: The cases below are curated from MFC's examples/ directory and are validated, working configurations. Use them as blueprints for building your own simulations.
π’ Beginner Examples
2D Shock-Bubble Interaction π’ Beginner Β· 2D_shockbubble
Two-fluid shock-interface benchmark. Classic validation case for compressible multiphase flows.
Tags: 2D Β· Multiphase Β· Shock
Physics Configuration:
- Model: 5-Equation (Multiphase) (
model_eqns = 2)
- Number of fluids: 2
- Dimensionality: 2D
Numerical Methods:
- Reconstruction: WENO-5
- Riemann solver: HLLC (
riemann_solver = 2)
- Time stepping: RK3 (SSP)
Related Documentation:
- Model Equations (model_eqns = 2)
- Riemann Solvers
π‘ Intermediate Examples
1D Bubble Screen π‘ Intermediate Β· 1D_bubblescreen
Euler-Euler ensemble-averaged bubble dynamics through shock wave.
Tags: 1D Β· Bubbles Β· Euler-Euler
Physics Configuration:
- Model: 5-Equation (Multiphase) (
model_eqns = 2)
- Number of fluids: 1
- Dimensionality: 1D
- Active features: Euler-Euler bubbles, Acoustic sources
Numerical Methods:
- Reconstruction: WENO-5
- Riemann solver: HLLC (
riemann_solver = 2)
- Time stepping: RK3 (SSP)
Related Documentation:
- Model Equations (model_eqns = 2)
- Riemann Solvers
- Bubble Models
2D Lagrangian Bubble Screen π‘ Intermediate Β· 2D_lagrange_bubblescreen
Individual bubble tracking with Euler-Lagrange method.
Tags: 2D Β· Bubbles Β· Euler-Lagrange
Physics Configuration:
- Model: 5-Equation (Multiphase) (
model_eqns = 2)
- Number of fluids: 2
- Dimensionality: 2D
- Active features: Euler-Lagrange bubbles, Viscous, Acoustic sources
Numerical Methods:
- Reconstruction: WENO-5
- Riemann solver: HLLC (
riemann_solver = 2)
- Time stepping: RK3 (SSP)
Related Documentation:
- Model Equations (model_eqns = 2)
- Riemann Solvers
- Bubble Models
- Viscosity
2D Orszag-Tang MHD Vortex π‘ Intermediate Β· 2D_orszag_tang
Magnetohydrodynamics test problem with complex vortex structures.
Tags: 2D Β· MHD
Physics Configuration:
- Model: 5-Equation (Multiphase) (
model_eqns = 2)
- Number of fluids: 1
- Dimensionality: 2D
- Active features: MHD
Numerical Methods:
- Reconstruction: WENO-1
- Riemann solver: HLL (
riemann_solver = 1)
- Time stepping: RK3 (SSP)
Related Documentation:
- Model Equations (model_eqns = 2)
- Riemann Solvers
- MHD
2D IBM Airfoil π‘ Intermediate Β· 2D_ibm_airfoil
Immersed boundary method around a NACA airfoil geometry.
Tags: 2D Β· IBM Β· Geometry
Physics Configuration:
- Model: 5-Equation (Multiphase) (
model_eqns = 2)
- Number of fluids: 2
- Dimensionality: 2D
- Active features: Immersed boundaries
Numerical Methods:
- Reconstruction: WENO-5
- Riemann solver: HLLC (
riemann_solver = 2)
- Time stepping: RK3 (SSP)
Related Documentation:
- Model Equations (model_eqns = 2)
- Riemann Solvers
- Immersed Boundaries
2D Viscous Shock Tube π‘ Intermediate Β· 2D_viscous_shock_tube
Shock tube with viscous effects and heat transfer.
Tags: 2D Β· Viscous Β· Shock
Physics Configuration:
- Model: 5-Equation (Multiphase) (
model_eqns = 2)
- Number of fluids: 2
- Dimensionality: 2D
- Active features: Viscous
Numerical Methods:
- Reconstruction: WENO-3
- Riemann solver: HLL (
riemann_solver = 1)
- Time stepping: RK3 (SSP)
Related Documentation:
- Model Equations (model_eqns = 2)
- Riemann Solvers
- Viscosity
π΄ Advanced Examples
2D Phase Change Bubble π΄ Advanced Β· 2D_phasechange_bubble
Phase change and cavitation modeling with 6-equation model.
Tags: 2D Β· Phase-change Β· Cavitation
Physics Configuration:
- Model: 6-Equation (Phase Change) (
model_eqns = 3)
- Number of fluids: 3
- Dimensionality: 2D
- Coordinates: Cylindrical/Axisymmetric
- Active features: Phase change
Numerical Methods:
- Reconstruction: WENO-3
- Riemann solver: HLLC (
riemann_solver = 2)
- Time stepping: RK3 (SSP)
Related Documentation:
- Model Equations (model_eqns = 3)
- Riemann Solvers
3D Taylor-Green Vortex π΄ Advanced Β· 3D_TaylorGreenVortex
Classic 3D turbulence benchmark with viscous dissipation.
Tags: 3D Β· Viscous Β· Turbulence
Physics Configuration:
- Model: 5-Equation (Multiphase) (
model_eqns = 2)
- Number of fluids: 1
- Dimensionality: 3D
- Active features: Viscous
Numerical Methods:
- Reconstruction: WENO-5
- Riemann solver: HLLC (
riemann_solver = 2)
- Time stepping: RK3 (SSP)
Related Documentation:
- Model Equations (model_eqns = 2)
- Riemann Solvers
- Viscosity
2D IGR Triple Point π΄ Advanced Β· 2D_IGR_triple_point
Triple point problem using Iterative Generalized Riemann solver.
Tags: 2D Β· IGR Β· Multiphase
Physics Configuration:
- Model: 5-Equation (Multiphase) (
model_eqns = 2)
- Number of fluids: 2
- Dimensionality: 2D
- Active features: IGR solver
Numerical Methods:
Related Documentation:
- Model Equations (model_eqns = 2)
π Common Configuration Patterns
Start with these proven combinations:
π§ Multiphase Flow (Bubbles)
'model_eqns': 2,
'num_fluids': 2,
'bubbles_euler': 'T',
'riemann_solver': 2,
'avg_state': 2,
β‘ Magnetohydrodynamics (MHD)
'model_eqns': 2,
'num_fluids': 1,
'mhd': 'T',
'riemann_solver': 1,
π‘οΈ Phase Change
'model_eqns': 3,
'num_fluids': 2,
'relax': 'T',
'riemann_solver': 2,
π Elastic Materials
'model_eqns': 2,
'hypoelasticity': 'T',
'riemann_solver': 1,
π Feature Compatibility
What works together:
Physics Models
| Feature | Requirements | Notes |
| Magnetohydrodynamics (MHD) | β | β General use |
| Surface Tension Model | Specific model | β General use |
| Hypoelasticity | β | β General use |
| Hyperelasticity | β | β General use |
| Phase Change (Relaxation) | β | β General use |
| Viscosity | β | β General use |
| Acoustic Sources | β | β General use |
Bubble Models
| Feature | Requirements | Notes |
| EulerβEuler Bubble Model | β | β General use |
| EulerβLagrange Bubble Model | β | β General use |
| Quadrature-Based Moment Method (QBMM) | β | β General use |
| Polydisperse Bubble Dynamics | β | β General use |
| adv_n | β | β General use |
Numerics
| Feature | Requirements | Notes |
| Riemann Solver | Specific model | β General use |
| WENO Order | β | β General use |
| MUSCL Order | β | β General use |
Geometry
| Feature | Requirements | Notes |
| Immersed Boundaries | β | β General use |
| Cylindrical Coordinates | β | β General use |
π’ Model Equations
Choose your governing equations:
Model 1: Ο-Ξ³ (Compressible Euler)
- Use for: Single-fluid compressible flow
- Value:
model_eqns = 1
- Note: Cannot use
num_fluids, bubbles, or certain WENO variants
Model 2: 5-Equation (Most versatile)
- Use for: Multiphase, bubbles, elastic materials, MHD
- Value:
model_eqns = 2
- Requirements: Set
num_fluids
- Compatible with: Most physics models
Model 3: 6-Equation (Phase change)
- Use for: Phase change, cavitation
- Value:
model_eqns = 3
- Requirements:
riemann_solver = 2 (HLLC), avg_state = 2, wave_speeds = 1
- Note: Not compatible with bubbles or 3D cylindrical
Model 4: 4-Equation (Single component)
- Use for: Single-component flows with bubbles
- Value:
model_eqns = 4
- Requirements:
num_fluids = 1, set rhoref and pref
βοΈ Riemann Solvers
| Solver | riemann_solver | Best For | Requirements |
| HLL | 1 | MHD, elastic materials | β |
| HLLC | 2 | Bubbles, phase change, multiphase | avg_state=2 for bubbles |
| Exact | 3 | High accuracy (expensive) | β |
| HLLD | 4 | MHD (advanced) | MHD only, no relativity |
| Lax-Friedrichs | 5 | Robust fallback | Not with cylindrical+viscous |
π§ Bubble Models
Euler-Euler (bubbles_euler)
Requirements:
model_eqns = 2 or 4
riemann_solver = 2 (HLLC)
avg_state = 2
- Set
nb (number of bins) β₯ 1
Extensions:
polydisperse = T: Multiple bubble sizes (requires odd nb > 1)
qbmm = T: Quadrature method (requires nnode = 4)
adv_n = T: Number density advection (requires num_fluids = 1)
Euler-Lagrange (bubbles_lagrange)
Requirements:
n > 0 (2D or 3D only)
file_per_process = F
- Not compatible with
model_eqns = 3
Note: Tracks individual bubbles
π Quick Parameter Reference
Key parameters and their constraints:
MHD (mhd)
Requirements:
- relativity requires mhd to be enabled
- Powell's method requires mhd to be enabled
Incompatibilities:
- Bx0 must not be set if MHD is not enabled
- Bx0 must not be set in 2D/3D MHD simulations
Surface Tension (surface_tension)
Requirements:
- sigma must be set if surface_tension is enabled
- The surface tension model requires model_eqns = 2 or model_eqns = 3
- The surface tension model requires num_fluids = 2
Valid values:
- sigma must be greater than or equal to zero
Number of Fluids (num_fluids)
Requirements:
- 5-equation model (model_eqns = 2) requires num_fluids to be set
- 6-equation model (model_eqns = 3) requires num_fluids to be set
- 4-equation model (model_eqns = 4) requires num_fluids to be set
Incompatibilities:
- num_fluids is not supported for model_eqns = 1
- num_fluids = 1 does not support mpp_lim
Valid values:
- num_fluids must be positive
- perturb_flow_fluid must be between 0 and num_fluids
Cylindrical Coordinates (cyl_coord)
Incompatibilities:
- 6-equation model (model_eqns = 3) does not support cylindrical coordinates (cyl_coord = T and p != 0)
- Bubble models untested in cylindrical coordinates
- Acoustic source is not supported in 3D cylindrical simulations
Valid values:
- p must be odd for cylindrical coordinates
Immersed Boundaries (ib)
Requirements:
- Immersed Boundaries do not work in 1D (requires n > 0)
Incompatibilities:
- output_partial_domain is incompatible with certain output flags
Valid values:
- num_ibs must be between 1 and num_patches_max (10)
π‘ Tip: If you encounter a validation error, check the relevant section above or review case_validator.py for complete validation logic.