Scholarly effort of IAMReX
IAMReX represents a significant enhancement to the baseline IAMR (Incompressible Adaptive Mesh Refinement) code, introducing advanced multi-physics capabilities for complex multi-phase flow and fluid-solid interaction simulations. This analysis identifies and summarizes the key innovations and contributions that distinguish IAMeX from the standard IAMR implementation.
I. Two Enhanced Time Advancement Methods
IAMeX introduces two distinct time advancement methods, each targeting specific multi-physics scenarios:
1. Two-Phase Flow with Level Set Method
Function:
NavierStokes::advance_semistaggered_twophase_ls()
Purpose: Sharp interface tracking for immiscible two-phase flows
Key Features: - Level set field evolution with both non-conservative and conservative advection schemes - Level-by-level reinitialization functions for conserving mass and avoid shape distortion - Interface-dependent density and viscosity updates - Heaviside function computation for material properties
2. Fluid-Structure Interaction with Diffused Immersed Boundary Method (DIBM) and Particle Collision
Function:
NavierStokes::advance_semistaggered_fsi_diffusedib()
Purpose: Robust fluid-solid coupling without mesh conformity
Key Features: - Particle-based immersed boundary implementation - 6-DOF rigid body dynamics - Collision detection and resolution
II. Level Set Method
Enhanced State Management
Extended State Vector:
NUM_STATE_MAX
increased from 4 to 5 componentsLevel Set Component:
phicomp
for interface representationSigned Distance: Maintained through reinitialization
Key Computational Functions
NavierStokesBase::get_phi_half_time()
: Get the mid point Level set functionNavierStokesBase::phi_to_heavi()
: Level set to Heaviside function conversionNavierStokesBase::phi_to_sgn0()
: Level set to Sign function conversionNavierStokesBase::heavi_to_rhoormu()
: Material property mappingNavierStokesBase::reinit()
: Distance function maintenance using reinitializationNavierStokesBase::reinitialization_sussman()
: Reinitialization with Sussman’s methodNavierStokesBase::reinitialization_consls
: Reinitialization for the conservative LS methodNavierStokesBase::rk_first_reinit()
: First RK step during reinitializationNavierStokesBase::rk_second_reinit()
: Second RK step during reinitializationNavierStokesBase::mass_fix()
: Mass fix subroutine during reinitialization
Features(Level Set)
Sharp Interface: Maintains interface thickness of 1.5~2 grid cells
Mass Conservation: Conservative advection schemes
Reinitialization: Periodic distance function correction
III. DIBM and Particle Collision
Core Architecture of DIBM
Primary Classes (Particle)
mParticle
: Main particle management classmParticleContainer
: AMReX-based parallel particle containerkernel
: Individual particle data structureParticles
: High-level particle system interface
Particle Data Structure (Kernel)
struct kernel {
RealVect location, velocity, omega; // 6-DOF state
RealVect ib_force, ib_moment; // Fluid forces/moments
RealVect Fcp, Tcp; // Collision forces/moments
Real radius, rho, Vp; // Physical properties
int ml; // Number of markers
Vector<Real> phiK, thetaK; // Spherical marker distribution
}
Key Computational functions(IBM)
1. Fluid-Solid Coupling
mParticle::InteractWithEuler()
: Master coupling routine - Iterative sub-cycling for stability - Configurable iteration counts (loop_ns
,loop_solid
) - Force/moment accumulation and averaging
2. Velocity Transfer (Eulerian → Lagrangian)
mParticle::VelocityInterpolation()
: Grid-to-particle velocity mappingDelta Function Types: -
FOUR_POINT_IB
: 4-point kernel for smooth transfer -THREE_POINT_IB
: 3-point kernel for efficiencyImplementation: GPU-compatible parallel loops
3. Force Computation and Spreading
mParticle::ComputeLagrangianForce()
: No-slip constraint enforcementmParticle::ForceSpreading()
: Particle-to-grid force distributionVolume Integration: Marker-based volume fraction calculations
4. Particle Dynamics
mParticle::UpdateParticles()
: 6-DOF motion integrationConstraint Handling: - Translation locks (
TL[i]
): 0=fixed, 1=prescribed, 2=free - Rotation locks (RL[i]
): Similar constraint systemCollision Integration: Seamless coupling with collision forces
nodal_phi_to_pvf()
: Particle volume fraction calculation
Features(IBM)
Marker Distribution
Spherical Coverage: Fibonacci spiral distribution for uniform sampling
Adaptive Resolution: Marker count based on particle size and grid resolution
Volume Conservation: Distributed volume elements for accurate integration
GPU Acceleration
CUDA Kernels: All particle operations GPU-compatible
Parallel Reductions: Efficient force/moment summation
Memory Coalescing: Optimized data layouts for performance
Core Architecture of Particle Collision
Primary Classes (Collision)
ParticleCollision
: Main collision managementCollisionParticle
: Particle representation for collisionsCollisionPair
: Collision pair structureCollisionCell
: Spatial hashing cell
Collision Detection Algorithm
Spatial Hashing: O(N) complexity using background grid
Neighbor Search: 27-cell stencil for proximity detection
Pair Generation: Systematic collision pair identification
DKT Model for Collision Resolution
F_collision = k * (overlap)² * n_normal
Spring Constant: Configurable collision stiffness
Overlap Calculation: Geometric intersection detection
Force Direction: Normal to contact surface
Integration with Fluid Forces
Force Superposition: Collision forces added to fluid forces
Momentum Conservation: Proper force-moment coupling
Stability: Sub-cycling for collision time scales
IV. Technical Innovations of IAMReX
Multi-Physics Integration
Unified Multi-Physics Framework: Single platform for diverse interface methods
Modular Design: Independent activation of physics models
Unified Interface: Common API across different methods
Computational Efficiency and Memory Management
Efficient Storage: Compact particle data structures
GPU-Accelerated Particles: High-performance particle operations
Load Balancing: Dynamic particle redistribution
Communication Optimization: Minimal inter-processor data exchange
Numerical Stability
Sub-cycling: Independent time stepping for different physics
Iterative Coupling: Multiple fluid-solid interaction iterations
Research Applications
Dense Particulate Flows: Fluidized beds, sediment transport
Multiphase Systems: Bubble dynamics, droplet collisions
Fluid-Structure Interaction: Flexible structures, bio-fluid mechanics
Industrial Processes: Mixing, separation, crystallization
V. Summary
IAMeX represents a substantial advancement in computational multi-physics, transforming the single-phase IAMR code into a comprehensive platform for complex fluid-solid interaction simulations. The integration of diffused immersed boundary methods, particle collision dynamics, and multiple interface tracking approaches provides researchers with unprecedented capabilities for studying real-world multi-physics phenomena while maintaining computational efficiency and scalability.
The modular design and robust implementation ensure that IAMeX serves as both a production simulation tool and a research platform for developing next-generation multi-physics algorithms. Its contributions to the computational fluid dynamics community extend beyond mere feature additions, representing fundamental advances in the numerical treatment of complex interfacial and particulate flows.