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 components

  • Level Set Component: phicomp for interface representation

  • Signed Distance: Maintained through reinitialization

Key Computational Functions

  • NavierStokesBase::get_phi_half_time(): Get the mid point Level set function

  • NavierStokesBase::phi_to_heavi(): Level set to Heaviside function conversion

  • NavierStokesBase::phi_to_sgn0(): Level set to Sign function conversion

  • NavierStokesBase::heavi_to_rhoormu(): Material property mapping

  • NavierStokesBase::reinit(): Distance function maintenance using reinitialization

  • NavierStokesBase::reinitialization_sussman(): Reinitialization with Sussman’s method

  • NavierStokesBase::reinitialization_consls: Reinitialization for the conservative LS method

  • NavierStokesBase::rk_first_reinit(): First RK step during reinitialization

  • NavierStokesBase::rk_second_reinit(): Second RK step during reinitialization

  • NavierStokesBase::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 class

  • mParticleContainer: AMReX-based parallel particle container

  • kernel: Individual particle data structure

  • Particles: 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 mapping

  • Delta Function Types: - FOUR_POINT_IB: 4-point kernel for smooth transfer - THREE_POINT_IB: 3-point kernel for efficiency

  • Implementation: GPU-compatible parallel loops

3. Force Computation and Spreading

  • mParticle::ComputeLagrangianForce(): No-slip constraint enforcement

  • mParticle::ForceSpreading(): Particle-to-grid force distribution

  • Volume Integration: Marker-based volume fraction calculations

4. Particle Dynamics

  • mParticle::UpdateParticles(): 6-DOF motion integration

  • Constraint Handling: - Translation locks (TL[i]): 0=fixed, 1=prescribed, 2=free - Rotation locks (RL[i]): Similar constraint system

  • Collision 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 management

  • CollisionParticle: Particle representation for collisions

  • CollisionPair: Collision pair structure

  • CollisionCell: 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

  1. Dense Particulate Flows: Fluidized beds, sediment transport

  2. Multiphase Systems: Bubble dynamics, droplet collisions

  3. Fluid-Structure Interaction: Flexible structures, bio-fluid mechanics

  4. 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.