IBAMR
An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
Namespaces | Classes | Typedefs | Enumerations | Functions
IBAMR Namespace Reference

Namespaces

 LevelSetUtilities
 Class LevelSetUtilities provides implementation of some helper functions to enforce mass/volume conservation of phases.
 
 WaveDampingFunctions
 
 WaveGenerationFunctions
 

Classes

class  AdvDiffCenteredConvectiveOperator
 Class AdvDiffCenteredConvectiveOperator is a concrete ConvectiveOperator that implements a centered convective differencing operator. More...
 
class  AdvDiffConservativeMassScalarTransportRKIntegrator
 Class AdvDiffConservativeMassScalarTransportRKIntegrator is a concrete class that integrates the collocated density field. More...
 
class  AdvDiffConvectiveOperatorManager
 Class AdvDiffConvectiveOperatorManager is a singleton manager class to provide access to generic cell-centered ConvectiveOperator implementations suitable for use with class AdvDiffHierarchyIntegrator. More...
 
class  AdvDiffCUIConvectiveOperator
 Class AdvDiffCUIConvectiveOperator is a concrete ConvectiveOperator that implements a upwind convective differencing operator based on the cubic upwind interpolation (CUI). More...
 
class  AdvDiffHierarchyIntegrator
 Class AdvDiffHierarchyIntegrator provides an abstract interface for a time integrator for advection-diffusion or advection-reaction-diffusion equations on an AMR grid hierarchy, along with basic data management for variables defined on that hierarchy. More...
 
class  AdvDiffPhysicalBoundaryUtilities
 Class AdvDiffPhysicalBoundaryUtilities is a utility class that provides functions useful for dealing with physical boundary conditions for advection-diffusion solvers. More...
 
class  AdvDiffPPMConvectiveOperator
 Class AdvDiffPPMConvectiveOperator is a concrete ConvectiveOperator that implements a upwind convective differencing operator based on the piecewise parabolic method (PPM). More...
 
class  AdvDiffPredictorCorrectorHierarchyIntegrator
 Class AdvDiffPredictorCorrectorHierarchyIntegrator manages the spatial discretization and time integration of scalar- and vector-valued quantities whose dynamics are governed by the advection-diffusion equation. More...
 
class  AdvDiffPredictorCorrectorHyperbolicPatchOps
 Class AdvDiffPredictorCorrectorHyperbolicPatchOps is a specialization of class AdvectorPredictorCorrectorHyperbolicPatchOps for use with a linearly-implicit time integrator for the advection-diffusion equation. More...
 
class  AdvDiffSemiImplicitHierarchyIntegrator
 Class AdvDiffSemiImplicitHierarchyIntegrator manages the spatial discretization and time integration of scalar- and vector-valued quantities whose dynamics are governed by the advection-diffusion equation. More...
 
class  AdvDiffStochasticForcing
 Class AdvDiffStochasticForcing provides an interface for specifying a stochastic forcing term for cell-centered advection-diffusion solver solver. More...
 
class  AdvDiffWavePropConvectiveOperator
 Class AdvDiffWavePropConvectiveOperator is a concrete ConvectiveOperator that implements a convective operator based on the wave propagation method. More...
 
class  AdvectorExplicitPredictorPatchOps
 Class AdvectorExplicitPredictorPatchOps provides patch-based operations required to implement a second-order Godunov method for the linear advection equation in conservative and non-conservative forms. More...
 
class  AdvectorPredictorCorrectorHyperbolicPatchOps
 Class AdvectorPredictorCorrectorHyperbolicPatchOps is a concrete SAMRAI::algs::HyperbolicPatchStrategy that makes use of class AdvectorExplicitPredictorPatchOps to solve the linear advection equation. More...
 
class  AllenCahnHierarchyIntegrator
 Class AllenCahnHierarchyIntegrator is a concrete class that manages the time integration of the Allen-Cahn and energy equation. More...
 
class  BrinkmanAdvDiffBcHelper
 BrinkmanAdvDiffBcHelper is an abstract class that provides an interface to implement Brinkman penalization body force in the advection-diffusion equation in order to enforce Dirichlet, Neumann and Robin boundary conditions on surfaces of rigid immersed bodies. A single instance of this class is meant to handle all of the Brinkman penalization zones for multiple transported quantities with various boundary conditions. More...
 
class  BrinkmanAdvDiffSemiImplicitHierarchyIntegrator
 Class BrinkmanAdvDiffSemiImplicitHierarchyIntegrator manages the spatial discretization and time integration of scalar- and vector-valued quantities whose dynamics are governed by the advection-diffusion equation. If the variable is registered with penalization boundary conditions, this class computes the additional diffusion coefficient and the forcing term from BrinkmanAdvDiffBcHelper class and solves a penalized advection-diffusion equation for that variable. More...
 
class  BrinkmanPenalizationStrategy
 BrinkmanPenalizationStrategy is an abstract class that provides an interface to implement Brinkman penalization body force in the momentum equation. More...
 
class  CarmanKozenyDragForce
 CarmanKozenyDragForce provides an implementation of Carman-Kozeny drag force to impose zero velocity inside the solid $ \bm{u}=\bm{u}_b = 0$. More...
 
class  CellConvectiveOperator
 Class CellConvectiveOperator is an abstract class for an implementation of a convective differencing operator. More...
 
class  CFGiesekusStrategy
 Class CFGiesekusStrategy is a concrete CFStrategy that computes the relaxation function for the Giesekus fluid model. More...
 
class  CFINSForcing
 Class CFINSForcing provides an interface for specifying a viscoelastic stress to be added to the Navier-Stokes equations. The class uses the advection diffusion integrator to update the viscoelastic stress. More...
 
class  CFOldroydBStrategy
 Class CFOldroydBStrategy is a concrete CFStrategy that computes the relaxation function for an Oldroyd-B fluid model. More...
 
class  CFRoliePolyStrategy
 Class CFRoliePolyStrategy is a concrete CFStrategy that computes the relaxation function for the Rolie-Poly fluid model. More...
 
class  CFStrategy
 Class CFStrategy is an abstract class that provides an interface for specifying the details of a complex fluid model. More...
 
class  CFUpperConvectiveOperator
 Class CFUpperConvectiveOperator is a concrete ConvectiveOperator that implements the upper convective derivative. This uses second order finite differences to compute the velocity gradients. The transport component can be chosen from any current convective operators. If the advected quantity allows for a square root or logarithmic decomposition, this class can advect the symmetric square root or logarithm of the tensor. Note that this class requires the registration of a source funtion before it can be applied. More...
 
class  CIBMethod
 Class CIBMethod is a concrete CIBStrategy and IBMethod class which implements the motion of rigid bodies using the constraint formulation. The immersed structure is discretized using standard IB markers. More...
 
class  CIBMobilitySolver
 Class CIBMobilitySolver solves for the constraint forces $ \vec{\lambda}$ and rigid body velocity $ \vec{U}$ of the structure(s). Specifically, the class solves two types of matrix-equations. More...
 
class  CIBSaddlePointSolver
 Class CIBSaddlePointSolver solves for the fluid velocity $ \vec{v} $, fluid pressure $ p $, and the Lagrange multiplier $ \vec{\lambda} $ maintaining the rigidity constraint. More...
 
class  CIBStaggeredStokesOperator
 Class CIBStaggeredStokesOperator is a concrete IBTK::LinearOperator which implements a staggered-grid (MAC) discretization of the incompressible Stokes operator while maintaining the constraint of rigidity for the immersed structures. More...
 
class  CIBStaggeredStokesSolver
 Class CIBStaggeredStokesSolver is an extension of IBAMR::StaggeredStokesSolver class that solves for the Langrange multiplier field $ \vec{\lambda} $ which imposes the rigidity constraint and solves for rigid body velocity (if it is freely-moving) along with the fluid velocity and pressure. More...
 
class  CIBStrategy
 Class CIBStrategy is a lightweight abstract strategy class which provides support for constraint based IB methods for rigid bodies. More...
 
class  ConstraintIBKinematics
 Class ConstraintIBKinematics encapsulates structure information and provides abstraction to get kinematics (deformational or imposed) of immersed structure to ConstraintIBMethod class. More...
 
class  ConstraintIBMethod
 Class ConstraintIBMethod implements the rigidity constraint for rigid and deforming bodies using the constraint based IB method. More...
 
class  ConvectiveOperator
 Class ConvectiveOperator is a abstract class for an implementation of a convective differencing operator. More...
 
class  DirectMobilitySolver
 Class DirectMobilitySolver solves the mobility and body-mobility sub-problem by employing direct solvers. More...
 
class  EnthalpyHierarchyIntegrator
 Class EnthalpyHierarchyIntegrator is a concrete class that manages the time integration of energy and phase change equations using the enthalpy approach. More...
 
class  FastSweepingLSMethod
 Class FastSweepingLSMethod provides a fast-sweeping algorithm implementation of the level set method. Specifically, this class produces a solution to the Eikonal equation $ |\nabla Q | = 1 $, which produces the signed distance away from an interface. More...
 
class  FEMechanicsExplicitIntegrator
 Class FEMechanicsExplicitIntegrator is an implementation of the abstract base class FEMechanicsBase that provides a simple explicit elastodynamics time integrator with an interface that is similar to IBFEMethod to facilitate model re-use. More...
 
class  FifthOrderStokesWaveGenerator
 Class for generating fifth order Stokes wave using Fenton's (Stokes) wave theory. More...
 
class  FirstOrderStokesWaveGenerator
 Class for generating first order water waves based upon linear wave theory. More...
 
class  GeneralizedIBMethod
 Class GeneralizedIBMethod is an extension of class IBMethod that provides functionality required by the generalized IB (gIB) method. More...
 
class  HeavisideForcingFunction
 Class HeavisideForcingFunction computes $ H \nabla \cdot \vec{u} $. This is required to solve the advection equation for Heaviside in conservative form. More...
 
class  IBAnchorPointSpec
 Class IBAnchorPointSpec is used to indicate that a particular node of the curvilinear mesh is anchored in place. More...
 
class  IBBeamForceSpec
 Class IBBeamForceSpec encapsulates the data necessary to compute the forces generated by a collection of linear beams (i.e., structures that resist bending) at a single node of the Lagrangian mesh. More...
 
class  IBExplicitHierarchyIntegrator
 Class IBExplicitHierarchyIntegrator is an implementation of a formally second-order accurate, semi-implicit version of the immersed boundary method. More...
 
class  IBFEDirectForcingKinematics
 Class IBFEDirectForcingKinematics is a helper class that provides direct forcing IBMethod functionality to the IBFEMethod class. More...
 
class  IBHierarchyIntegrator
 Class IBHierarchyIntegrator provides an abstract interface for a time integrator for various versions of the immersed boundary method on an AMR grid hierarchy, along with basic data management for variables defined on that hierarchy. More...
 
class  IBHydrodynamicForceEvaluator
 Class IBHydrodynamicForceEvaluator computes hydrodynamic force and torque on immersed bodies. The class uses Reynolds transport theorem to integrate momentum over a Cartesian box region that moves with an arbitrary rigid body translation velocity. More...
 
class  IBHydrodynamicSurfaceForceEvaluator
 Class IBHydrodynamicSurfaceForceEvaluator computes hydrodynamic force on immersed bodies. The class uses a level set indicator for the solid body to add up surface forces in the cells adjacent to the immersed structure. More...
 
class  IBImplicitStaggeredHierarchyIntegrator
 Class IBImplicitStaggeredHierarchyIntegrator is an implementation of a formally second-order accurate, nonlinearly-implicit version of the immersed boundary method. More...
 
class  IBImplicitStrategy
 Class IBImplicitStrategy provides a generic interface for specifying the implementation details of a particular implicit version of the IB method. More...
 
class  IBInstrumentationSpec
 Class IBInstrumentationSpec encapsulates the data required to initialize distributed internal flow meters and pressure gauges. More...
 
class  IBInstrumentPanel
 Class IBInstrumentPanel provides support for flow meters and pressure gauges. More...
 
class  IBInterpolantHierarchyIntegrator
 Class IBInterpolantHierarchyIntegrator is an implementation of Brinkman penalization immersed boundary method. More...
 
class  IBInterpolantMethod
 Class IBInterpolantMethod is an implementation of the abstract base class IBStrategy that provides a simple functionality of interpolating and spreading scalar or vector-valued quantities to and from the moving IB structure on the background Cartesian grid. More...
 
class  IBKirchhoffRodForceGen
 Class IBKirchhoffRodForceGen computes the forces and torques generated by a collection of linear elements based on Kirchhoff rod theory. More...
 
class  IBLagrangianForceStrategy
 Class IBLagrangianForceStrategy provides a generic interface for specifying nodal forces (not force densities) on the Lagrangian curvilinear mesh. More...
 
class  IBLagrangianForceStrategySet
 Class IBLagrangianForceStrategySet is a utility class that allows multiple IBLagrangianForceStrategy objects to be employed by a single IBHierarchyIntegrator. More...
 
class  IBLagrangianSourceStrategy
 Class IBLagrangianForceStrategy provides a generic interface for specifying the positions and magnitudes of distributed internal fluid source-sinks. More...
 
class  IBLevelSetMethod
 Class IBLevelSetMethod is a concrete IBStrategy class that uses IBInterpolantMethod and IBFEMethod objects to initialize and transport rigid body level sets for Brinkman penalized IBMethod. This class is supposed to be used with INSVCHierarchyIntegrator class. More...
 
class  IBMethod
 Class IBMethod is an implementation of the abstract base class IBImplicitStrategy that provides functionality required by the standard IB method. More...
 
class  IBMethodPostProcessStrategy
 Class IBMethodPostProcessStrategy provides a generic interface for specifying post-processing code for use in an IB computation. More...
 
class  IBRedundantInitializer
 Class IBRedundantInitializer is an abstract LInitStrategy that initializes the configuration of one or more Lagrangian structures from input files. More...
 
class  IBRodForceSpec
 Class IBRodForceSpec encapsulates the data necessary to compute the forces generated by a network of Kirchhoff rods at a single node of the Lagrangian mesh. More...
 
class  IBSourceSpec
 Class IBSourceSpec encapsulates the data required to initialize distributed internal sources and sinks. More...
 
class  IBSpringForceSpec
 Class IBSpringForceSpec encapsulates the data necessary to compute the forces generated by a network of linear or nonlinear springs (i.e., structures that resist extension and/or compression) at a single node of the Lagrangian mesh. More...
 
class  IBStandardForceGen
 Class IBStandardForceGen is a concrete IBLagrangianForceStrategy that is intended to be used in conjunction with curvilinear mesh data generated by class IBStandardInitializer. More...
 
class  IBStandardInitializer
 Class IBStandardInitializer is a concrete LInitStrategy that initializes the configuration of one or more Lagrangian structures from input files. More...
 
class  IBStandardSourceGen
 Class IBStandardSourceGen provides support for distributed internal fluid sources/sinks. More...
 
class  IBStrategy
 Class IBStrategy provides a generic interface for specifying the implementation details of a particular version of the IB method. More...
 
class  IBStrategySet
 Class IBStrategySet is a utility class that allows multiple IBStrategy objects to be employed by a single IBHierarchyIntegrator. More...
 
class  IBTargetPointForceSpec
 Class IBTargetPointForceSpec encapsulates the data necessary to compute the penalty force generated by a single fixed target point (i.e., a force that approximately imposes a Dirichlet boundary condition at a single node of the Lagrangian mesh). More...
 
class  IIMethod
 Class IIMethod is an implementation of the abstract base class IBStrategy that provides functionality required by the IB method with a finite element representation of a surface mesh. More...
 
class  INSCollocatedCenteredConvectiveOperator
 Class INSCollocatedCenteredConvectiveOperator is a concrete ConvectiveOperator which implements a centered convective differencing operator. More...
 
class  INSCollocatedConvectiveOperatorManager
 Class INSCollocatedConvectiveOperatorManager is a singleton manager class to provide access to generic cell-centered ConvectiveOperator implementations suitable for use with class INSCollocatedHierarchyIntegrator. More...
 
class  INSCollocatedHierarchyIntegrator
 Class INSCollocatedHierarchyIntegrator provides a collocated projection method-based solver for the incompressible Navier-Stokes equations on an AMR grid hierarchy. More...
 
class  INSCollocatedPPMConvectiveOperator
 Class INSCollocatedPPMConvectiveOperator is a concrete ConvectiveOperator that implements a upwind convective differencing operator based on the piecewise parabolic method (PPM). More...
 
class  INSCollocatedVelocityBcCoef
 Class INSCollocatedVelocityBcCoef is a concrete StokesBcCoefStrategy that is used to specify velocity boundary conditions for the staggered grid incompressible Navier-Stokes solver. More...
 
class  INSCollocatedWavePropConvectiveOperator
 Class INSCollocatedWavePropConvectiveOperator is a concrete ConvectiveOperator that implements a convective operator based on the wave propagation method. More...
 
class  INSHierarchyIntegrator
 Class INSHierarchyIntegrator provides an abstract interface for a time integrator for the incompressible Navier-Stokes equations on an AMR grid hierarchy, along with basic data management for variables defined on that hierarchy. More...
 
class  INSIntermediateVelocityBcCoef
 Class INSIntermediateVelocityBcCoef is a concrete SAMRAI::solv::RobinBcCoefStrategy that is used to specify boundary conditions for the intermediate velocity solve embedded in a projection method or in a block preconditioner for the incompressible Navier-Stokes equations. More...
 
class  INSProjectionBcCoef
 Class INSIntermediateVelocityBcCoef is a concrete SAMRAI::solv::RobinBcCoefStrategy that is used to specify boundary conditions for the projection Poisson problem embedded in a projection method or in a block preconditioner for the incompressible Navier-Stokes equations. More...
 
class  INSStaggeredCenteredConvectiveOperator
 Class INSStaggeredCenteredConvectiveOperator is a concrete ConvectiveOperator which implements a centered convective differencing operator. More...
 
class  INSStaggeredConvectiveOperatorManager
 Class INSStaggeredConvectiveOperatorManager is a singleton manager class to provide access to generic cell-centered ConvectiveOperator implementations suitable for use with class INSStaggeredHierarchyIntegrator. More...
 
class  INSStaggeredCUIConvectiveOperator
 Class INSStaggeredCUIConvectiveOperator is a concrete ConvectiveOperator that implements a upwind convective differencing operator based on the cubic upwind interpolation (CUI). More...
 
class  INSStaggeredHierarchyIntegrator
 Class INSStaggeredHierarchyIntegrator provides a staggered-grid solver for the incompressible Navier-Stokes equations on an AMR grid hierarchy. More...
 
class  INSStaggeredPPMConvectiveOperator
 Class INSStaggeredPPMConvectiveOperator is a concrete ConvectiveOperator that implements a upwind convective differencing operator based on the piecewise parabolic method (PPM). More...
 
class  INSStaggeredPressureBcCoef
 Class INSStaggeredPressureBcCoef is a concrete StokesBcCoefStrategy that is used to specify pressure boundary conditions for the staggered grid incompressible Navier-Stokes solver. More...
 
class  INSStaggeredStabilizedPPMConvectiveOperator
 Class INSStaggeredStabilizedPPMConvectiveOperator is a concrete ConvectiveOperator that implements a upwind convective differencing operator based on the piecewise parabolic method (PPM). This discretization is "stabilized" at open boundaries by blending the higher-order discretization with first-order upwind. More...
 
class  INSStaggeredStochasticForcing
 Class INSStaggeredStochasticForcing provides an interface for specifying a stochastic forcing term for a staggered-grid incompressible Navier-Stokes solver. More...
 
class  INSStaggeredUpwindConvectiveOperator
 Class INSStaggeredUpwindConvectiveOperator is a concrete ConvectiveOperator that implements a first-order upwind convective differencing operator. More...
 
class  INSStaggeredVelocityBcCoef
 Class INSStaggeredVelocityBcCoef is a concrete StokesBcCoefStrategy that is used to specify velocity boundary conditions for the staggered grid incompressible Navier-Stokes solver. More...
 
class  INSStaggeredWavePropConvectiveOperator
 Class INSStaggeredWavePropConvectiveOperator is a concrete ConvectiveOperator that implements a convective operator based on the wave propagation method. More...
 
class  INSVCStaggeredConservativeHierarchyIntegrator
 Class INSVCStaggeredConservativeHierarchyIntegrator provides a staggered-grid solver for the incompressible Navier-Stokes equations on an AMR grid hierarchy, with variable coefficients. More...
 
class  INSVCStaggeredConservativeMassMomentumRKIntegrator
 Class INSVCStaggeredConservativeMassMomentumRKIntegrator integrates the staggered density field. More...
 
class  INSVCStaggeredConservativeMassMomentumSSPRKIntegrator
 Class INSVCStaggeredConservativeMassMomentumSSPRKIntegrator is a derived class that integrates the staggered density field. More...
 
class  INSVCStaggeredHierarchyIntegrator
 Class INSVCStaggeredHierarchyIntegrator provides an abstract interface for time integrator for a staggered-grid, incompressible Navier-Stokes solver on an AMR grid hierarchy with variable coefficients. More...
 
class  INSVCStaggeredNonConservativeHierarchyIntegrator
 Class INSVCStaggeredNonConservativeHierarchyIntegrator provides a staggered-grid solver for the incompressible Navier-Stokes equations on an AMR grid hierarchy, with variable coefficients. More...
 
class  INSVCStaggeredPressureBcCoef
 Class INSVCStaggeredPressureBcCoef is a concrete StokesBcCoefStrategy that is used to specify pressure boundary conditions for the staggered grid incompressible Navier-Stokes solver with variable coefficients. More...
 
class  INSVCStaggeredVelocityBcCoef
 Class INSVCStaggeredVelocityBcCoef is a concrete StokesBcCoefStrategy that is used to specify velocity boundary conditions for the staggered grid incompressible Navier-Stokes solver with variable coefficents. More...
 
class  IrregularWaveBcCoef
 Class IrregularWaveBcCoef is an implementation of the strategy class SAMRAI::solv::RobinBcCoefStrategy that provides Dirichlet velocity boundary condition based upon linear wave theory of water waves to generate irregular waves at the inlet of the wave tank. The class is meant to be used with INSVCStaggeredHierarchyIntegrator. More...
 
class  IrregularWaveGenerator
 Class for generating Irregular waves. More...
 
class  KrylovFreeBodyMobilitySolver
 
class  KrylovLinearSolverStaggeredStokesSolverInterface
 Class KrylovLinearSolverStaggeredStokesSolverInterface provides an interface for KrylovLinearSolvers that are to be used as staggered Stokes solvers. More...
 
class  KrylovMobilitySolver
 
class  LSInitStrategy
 Class LSInitStrategy provides a generic interface for initializing the implementation details of a particular version of the level set method. More...
 
class  MarangoniSurfaceTensionForceFunction
 Class MarangoniSurfaceTensionForceFunction provides Marangoni forcing due to temperature variations. This class computes the forcing term $ F = \frac{\mathrm{d} \sigma}{\mathrm{d} T}(\nabla T |\nabla C| - (\nabla T \cdot \nabla \phi) \nabla C)$ and add it to the surface tension forcing. More...
 
class  MobilityFunctions
 Class MobilityFunctions provides empirical functions/fits for forming mobility matrix needed for fully constraint based IB method. More...
 
class  NonbondedForceEvaluator
 
class  PenaltyIBMethod
 Class PenaltyIBMethod is an implementation of the abstract base class IBStrategy that provides functionality required by the penalty IB (pIB) method. More...
 
class  PETScKrylovStaggeredStokesSolver
 Class PETScKrylovStaggeredStokesSolver is an extension of class PETScKrylovLinearSolver that provides an implementation of the StaggeredStokesSolver interface. More...
 
class  PhaseChangeDivUSourceFunction
 Class PhaseChangeDivUSourceFunction class set the RHS of the Div U equation computed from the PhaseChangeHierarchyIntegrator class. More...
 
class  RelaxationLSBcCoefs
 Class RelaxationLSBcCoefs is an implementation of the strategy class RobinBcCoefStrategy that is used to specify fixed Dirichlet boundary conditions for the level set function during reinitialization step. More...
 
class  RelaxationLSMethod
 Class RelaxationLSMethod provides a relaxation algorithm implementation of the level set method. Specifically, this class iterates (to steady-state) the PDE $\frac{\partial Q}{\partial \tau}+sgn(Q^0)(|\nabla Q | - 1) = 0$, which produces a solution to the Eikonal equation $ |\nabla Q | = 1 $. The solution of the Eikonal equation produces the signed distance away from an interface. More...
 
class  RNG
 Class RNG organizes functions that provide random-number generator functionality. More...
 
class  SpongeLayerForceFunction
 Class SpongeLayerForceFunction provides forcing at physical boundaries that weakly imposes homogeneous Dirichlet boundary conditions. More...
 
class  StaggeredStokesBlockFactorizationPreconditioner
 Class StaggeredStokesBlockFactorizationPreconditioner is a concrete StaggeredStokesBlockPreconditioner that implements a staggered grid (MAC) block factorization (approximate Schur complement) preconditioner for the incompressible Stokes equations. More...
 
class  StaggeredStokesBlockPreconditioner
 Class StaggeredStokesBlockPreconditioner is an abstract base class for Stokes solvers that are implemented using block (subdomain) solvers. More...
 
class  StaggeredStokesBoxRelaxationFACOperator
 Class StaggeredStokesBoxRelaxationFACOperator is a concrete StaggeredStokesFACPreconditionerStrategy implementing a box relaxation (Vanka-type) smoother for use as a multigrid preconditioner. More...
 
class  StaggeredStokesFACPreconditioner
 Class StaggeredStokesFACPreconditioner is a FACPreconditioner that has been specialized for Stokes problems. More...
 
class  StaggeredStokesFACPreconditionerStrategy
 Class StaggeredStokesFACPreconditionerStrategy is an abstract FACPreconditionerStrategy implementing many of the operations required by smoothers for staggered-grid (MAC) discretizations of the incompressible Stokes equations and related problems. More...
 
class  StaggeredStokesIBLevelRelaxationFACOperator
 Class StaggeredStokesIBLevelRelaxationFACOperator is a concrete FACPreconditionerStrategy class that implements the operations required by smoothers for staggered-grid (MAC) discretizations of the implicit incompressible Stokes-IB equations. More...
 
class  StaggeredStokesLevelRelaxationFACOperator
 Class StaggeredStokesLevelRelaxationFACOperator is a concrete StaggeredStokesFACPreconditionerStrategy implementing a level relaxation smoother for use as a multigrid preconditioner. More...
 
class  StaggeredStokesOpenBoundaryStabilizer
 Class StaggeredStokesOpenBoundaryStabilizer provides forcing at physical boundaries that attempts to stabilize flows at open boundaries. More...
 
class  StaggeredStokesOperator
 Class StaggeredStokesOperator is a concrete IBTK::LinearOperator which implements a staggered-grid (MAC) discretization of the incompressible Stokes operator. More...
 
class  StaggeredStokesPETScLevelSolver
 Class StaggeredStokesPETScLevelSolver is a concrete PETScLevelSolver for a staggered-grid (MAC) discretization of the incompressible Stokes equations. More...
 
class  StaggeredStokesPETScMatUtilities
 Class StaggeredStokesPETScMatUtilities provides utility functions for PETSc Mat objects. More...
 
class  StaggeredStokesPETScVecUtilities
 Class StaggeredStokesPETScVecUtilities provides utility functions for PETSc Vec objects. More...
 
class  StaggeredStokesPhysicalBoundaryHelper
 Class StaggeredStokesPhysicalBoundaryHelper provides helper functions to enforce physical boundary conditions for a staggered grid discretization of the incompressible (Navier-)Stokes equations. More...
 
class  StaggeredStokesProjectionPreconditioner
 Class StaggeredStokesProjectionPreconditioner is a concrete StokesSolver that implements a staggered grid (MAC) projection solver for the incompressible Stokes operator. More...
 
class  StaggeredStokesSolver
 Class StaggeredStokesSolver is an abstract base class for staggered-grid Stokes solvers. More...
 
class  StaggeredStokesSolverManager
 Class StaggeredStokesSolverManager is a singleton manager class to provide access to generic staggered-grid Stokes solver implementations. More...
 
class  StokesBcCoefStrategy
 Class StokesBcCoefStrategy is a subclass of the abstract base class IBTK::ExtendedRobinBcCoefStrategy to allow for specialization needed to treat physical boundary conditions for coupled Stokes solvers. More...
 
class  StokesFifthOrderWaveBcCoef
 Class StokesFifthOrderWaveBcCoef is an implementation of the strategy class SAMRAI::solv::RobinBcCoefStrategy that provides Dirichlet velocity boundary condition based upon Stokes' fifth-order theory of water waves at the inlet of the wave tank. The class is meant to be used with INSVCStaggeredHierarchyIntegrator. More...
 
class  StokesFirstOrderWaveBcCoef
 Class StokesFirstOrderWaveBcCoef is an implementation of the strategy class SAMRAI::solv::RobinBcCoefStrategy that provides Dirichlet velocity boundary condition based upon Stokes' lineary theory of water waves at the inlet of the wave tank. This class is meant to be used with INSVCStaggeredHierarchyIntegrator. More...
 
class  StokesSecondOrderWaveBcCoef
 Class StokesSecondOrderWaveBcCoef is an implementation of the strategy class SAMRAI::solv::RobinBcCoefStrategy that provides Dirichlet velocity boundary condition based upon Stokes' second order theory of water waves at the inlet of the wave tank. This class is meant to be used with INSVCStaggeredHierarchyIntegrator. More...
 
class  StokesSpecifications
 Class StokesSpecifications is a lightweight utility class that is used to specify the physical parameters of the incompressible Navier-Stokes equations. More...
 
class  StokesWaveGeneratorStrategy
 Strategy class for generating Stokes wave. More...
 
class  STSMassFluxIntegrator
 Class STSMassFluxIntegrator is an abstract class which integrates the density field. More...
 
class  SurfaceTensionForceFunction
 Class SurfaceTensionForceFunction provides surface tension forcing using the continuum surface tension force model of Brackbill, Kothe, and Zemach. More...
 
class  VCStaggeredStokesOperator
 Class VCStaggeredStokesOperator is a concrete IBTK::LinearOperator which implements a staggered-grid (MAC) discretization of the incompressible Stokes operator with variable coefficients. More...
 
class  VCStaggeredStokesProjectionPreconditioner
 Class VCStaggeredStokesProjectionPreconditioner is a concrete StokesSolver that implements a staggered grid (MAC) projection solver for the incompressible Stokes operator with variable coefficients. More...
 
class  Wall
 
class  WallForceEvaluator
 
struct  WaveGenerationData
 
struct  WaveDampingData
 

Typedefs

using SpringForceFcnPtr = double(*)(double R, const double *params, int lag_mastr_idx, int lag_slave_idx)
 Typedef specifying the spring force function API. More...
 
using SpringForceDerivFcnPtr = double(*)(double R, const double *params, int lag_mastr_idx, int lag_slave_idx)
 Typedef specifying the spring force derivative function API. More...
 

Enumerations

enum  ConvectiveDifferencingType { ADVECTIVE , CONSERVATIVE , SKEW_SYMMETRIC , UNKNOWN_CONVECTIVE_DIFFERENCING_TYPE = -1 }
 Enumerated type for different convective differencing schemes.
 
enum  LimiterType {
  CTU_ONLY = 1 , MINMOD_LIMITED = 2 , MC_LIMITED = 3 , SUPERBEE_LIMITED = 4 ,
  MUSCL_LIMITED = 5 , SECOND_ORDER = 6 , FOURTH_ORDER = 7 , PPM = 8 ,
  XSPPM7 = 9 , UPWIND = 10 , CUI = 11 , FBICS = 12 ,
  MGAMMA = 13 , UNKNOWN_LIMITER_TYPE = -1
}
 Enumerated type for different limiter types.
 
enum  LevelSetType { FAST_SWEEPING = 1 , RELAXATION = 2 , UNKNOWN_LEVEL_SET_TYPE = -1 }
 Enumerated type for different level set methods.
 
enum  LevelSetOrder {
  FIRST_ORDER_LS = 1 , SECOND_ORDER_LS = 2 , THIRD_ORDER_ENO_LS = 3 , THIRD_ORDER_WENO_LS = 4 ,
  FIFTH_ORDER_WENO_LS = 5 , UNKNOWN_LEVEL_SET_ORDER = -1
}
 Enumerated type for different level set order.
 
enum  LevelSetTimeStepping { GAUSS_SEIDEL_PSEUDO_TS = 1 , RK1_TS = 2 , TVD_RK2_TS = 3 , UNKNOWN_LEVEL_SET_TS = -1 }
 Enumerated type for different level set time stepping schemes.
 
enum  PressureProjectionType { CONSISTENT_PROJECTION , LUMPED_PROJECTION , STABILIZED_PROJECTION , UNKNOWN_PRESSURE_TYPE = -1 }
 Enumerated type for pressure formulations.
 
enum  TimeSteppingType {
  ADAMS_BASHFORTH , BACKWARD_EULER , FORWARD_EULER , MIDPOINT_RULE ,
  TRAPEZOIDAL_RULE , SSPRK2 , SSPRK3 , UNKNOWN_TIME_STEPPING_TYPE = -1
}
 Enumerated type for different basic time stepping schemes.
 
enum  TractionBcType { TRACTION , PSEUDO_TRACTION , UNKNOWN_TRACTION_BC_TYPE = -1 }
 Enumerated type for different types of traction boundary conditions.
 
enum  ProjectionMethodType { PRESSURE_UPDATE , PRESSURE_INCREMENT , UNKNOWN_PROJECTION_METHOD_TYPE = -1 }
 Enumerated type for different pressure update schemes for the projection method.
 
enum  StochasticStressTensorType { UNCORRELATED , SYMMETRIC , SYMMETRIC_TRACELESS , UNKNOWN_STOCHASTIC_STRESS_TENSOR_TYPE = -1 }
 Enumerated type for different forms of the stochastic stress tensor.
 
enum  MobilityMatrixType { READ_FROM_FILE , RPY , EMPIRICAL , UNKNOWN_MOBILITY_MATRIX_TYPE = -1 }
 Enumerated type for different forms of dense mobility matrix.
 
enum  MobilityMatrixInverseType { LAPACK_CHOLESKY , LAPACK_LU , LAPACK_SVD , UNKNOWN_MOBILITY_MATRIX_INVERSE_TYPE = -1 }
 Enumerated type for different direct methods for dense mobility matrix inversion.
 
enum  LibmeshPartitionerType { LIBMESH_DEFAULT , SAMRAI_BOX , UNKNOWN_LIBMESH_PARTITIONER_TYPE = -1 }
 Enumerated type for different possible libMesh partitioners.
 
enum  TensorEvolutionType { STANDARD , SQUARE_ROOT , LOGARITHM , UNKNOWN_TENSOR_EVOLUTION_TYPE = -1 }
 Enumerated type for different evolution of SPD tensors.
 
enum  AdvDiffBrinkmanPenalizationBcType { DIRICHLET = 1 , NEUMANN = 2 , ROBIN = 3 , UNKNOWN_BRINKMAN_BC_TYPE = -1 }
 Enumerated type for different Advection-Diffusion Brinkman penalization boundary conditions.
 
enum  IndicatorFunctionType { SMOOTH = 1 , DISCONTINUOUS = 2 , UNKNOWN_INDICATOR_FUNC_TYPE = -1 }
 Enumerated type for different indicator functions.
 

Functions

void convert_to_conformation_tensor (IBTK::MatrixNd &mat, TensorEvolutionType evolve_type)
 
IBTK::MatrixNd convert_to_conformation_tensor (const SAMRAI::pdat::CellData< NDIM, double > &C_data, const SAMRAI::pdat::CellIndex< NDIM > &idx, TensorEvolutionType evolve_type)
 
template<typename T >
string_to_enum (const std::string &)
 Routine for converting strings to enums.
 
template<typename T >
std::string enum_to_string (T)
 Routine for converting enums to strings.
 
template<>
ConvectiveDifferencingType string_to_enum< ConvectiveDifferencingType > (const std::string &val)
 
template<>
std::string enum_to_string< ConvectiveDifferencingType > (ConvectiveDifferencingType val)
 
template<>
LimiterType string_to_enum< LimiterType > (const std::string &val)
 
template<>
std::string enum_to_string< LimiterType > (LimiterType val)
 
template<>
LevelSetType string_to_enum< LevelSetType > (const std::string &val)
 
template<>
std::string enum_to_string< LevelSetType > (LevelSetType val)
 
template<>
LevelSetOrder string_to_enum< LevelSetOrder > (const std::string &val)
 
template<>
std::string enum_to_string< LevelSetOrder > (LevelSetOrder val)
 
template<>
LevelSetTimeStepping string_to_enum< LevelSetTimeStepping > (const std::string &val)
 
template<>
std::string enum_to_string< LevelSetTimeStepping > (LevelSetTimeStepping val)
 
template<>
PressureProjectionType string_to_enum< PressureProjectionType > (const std::string &val)
 
template<>
std::string enum_to_string< PressureProjectionType > (PressureProjectionType val)
 
template<>
TimeSteppingType string_to_enum< TimeSteppingType > (const std::string &val)
 
template<>
std::string enum_to_string< TimeSteppingType > (TimeSteppingType val)
 
bool is_multistep_time_stepping_type (TimeSteppingType val)
 
template<>
TractionBcType string_to_enum< TractionBcType > (const std::string &val)
 
template<>
std::string enum_to_string< TractionBcType > (TractionBcType val)
 
template<>
ProjectionMethodType string_to_enum< ProjectionMethodType > (const std::string &val)
 
template<>
std::string enum_to_string< ProjectionMethodType > (ProjectionMethodType val)
 
template<>
StochasticStressTensorType string_to_enum< StochasticStressTensorType > (const std::string &val)
 
template<>
std::string enum_to_string< StochasticStressTensorType > (StochasticStressTensorType val)
 
template<>
MobilityMatrixType string_to_enum< MobilityMatrixType > (const std::string &val)
 
template<>
std::string enum_to_string< MobilityMatrixType > (MobilityMatrixType val)
 
template<>
MobilityMatrixInverseType string_to_enum< MobilityMatrixInverseType > (const std::string &val)
 
template<>
std::string enum_to_string< MobilityMatrixInverseType > (MobilityMatrixInverseType val)
 
template<>
LibmeshPartitionerType string_to_enum< LibmeshPartitionerType > (const std::string &val)
 
template<>
std::string enum_to_string< LibmeshPartitionerType > (LibmeshPartitionerType val)
 
template<>
TensorEvolutionType string_to_enum< TensorEvolutionType > (const std::string &val)
 
template<>
std::string enum_to_string< TensorEvolutionType > (TensorEvolutionType val)
 
template<>
AdvDiffBrinkmanPenalizationBcType string_to_enum< AdvDiffBrinkmanPenalizationBcType > (const std::string &val)
 
template<>
std::string enum_to_string< AdvDiffBrinkmanPenalizationBcType > (AdvDiffBrinkmanPenalizationBcType val)
 
template<>
IndicatorFunctionType string_to_enum< IndicatorFunctionType > (const std::string &val)
 
template<>
std::string enum_to_string< IndicatorFunctionType > (IndicatorFunctionType val)
 
double default_spring_force (double R, const double *params, int, int)
 Function to compute the (undirected) "tension" force generated by a Hookean spring with either a zero or a non-zero resting length. More...
 
double default_spring_force_deriv (double, const double *params, int, int)
 Function to compute the derivative with respect to R of the tension force generated by a Hookean spring with either a zero or a non-zero resting length.
 
double computeNetInflowPhysicalBoundary (SAMRAI::tbox::Pointer< IBTK::HierarchyMathOps > hier_math_ops, int u_idx, int bdry_loc_idx)
 
int add_42 (int a)
 

Detailed Description

Defines "using" declarations for all IBAMR namespaces. This header file may be included in application codes, but it MUST NOT be included in any other header (.h) or inline (-inl.h) file in the library.

Typedef Documentation

◆ SpringForceDerivFcnPtr

using IBAMR::SpringForceDerivFcnPtr = typedef double (*)(double R, const double* params, int lag_mastr_idx, int lag_slave_idx)

Typedef specifying the spring force derivative function API.

Returns
The derivative with respect to R of the (undirected) "tension" force generated by the spring.
Parameters
RThe displacement between the "master" and "slave" nodes associated with the spring.
paramsConstitutive parameters.
lag_mastr_idxThe Lagrangian index of the "master" node associated with the spring.
lag_slave_idxThe Lagrangian index of the "slave" node associated with the spring.

◆ SpringForceFcnPtr

using IBAMR::SpringForceFcnPtr = typedef double (*)(double R, const double* params, int lag_mastr_idx, int lag_slave_idx)

Typedef specifying the spring force function API.

Returns
The (undirected) "tension" force generated by the spring.
Parameters
RThe displacement between the "master" and "slave" nodes associated with the spring.
paramsConstitutive parameters.
rstThe resting length of the spring.
lag_mastr_idxThe Lagrangian index of the "master" node associated with the spring.
lag_slave_idxThe Lagrangian index of the "slave" node associated with the spring.

Function Documentation

◆ computeNetInflowPhysicalBoundary()

double IBAMR::computeNetInflowPhysicalBoundary ( SAMRAI::tbox::Pointer< IBTK::HierarchyMathOps hier_math_ops,
int  u_idx,
int  bdry_loc_idx 
)
Returns
Integral of inflow $ -\vec{u} \cdot \vec{n}$ at a physical boundary.
Parameters
location_idxof the boundary at which the integral is evaluated

◆ convert_to_conformation_tensor() [1/2]

IBTK::MatrixNd IBAMR::convert_to_conformation_tensor ( const SAMRAI::pdat::CellData< NDIM, double > &  C_data,
const SAMRAI::pdat::CellIndex< NDIM > &  idx,
TensorEvolutionType  evolve_type 
)
inline

Return the conformation tensor, given the evolved data and the evolved type.

◆ convert_to_conformation_tensor() [2/2]

void IBAMR::convert_to_conformation_tensor ( IBTK::MatrixNd &  mat,
TensorEvolutionType  evolve_type 
)
inline

Convert the provided matrix in the form given by evolve_type to the conformation tensor.

◆ default_spring_force()

double IBAMR::default_spring_force ( double  R,
const double *  params,
int  ,
int   
)
inline

Function to compute the (undirected) "tension" force generated by a Hookean spring with either a zero or a non-zero resting length.

Consider a single spring, and let $ k $ be the index of the "master" node and $ l $ the index of the "slave" node. The forces generated are

\[ \vec{F}_k = \kappa_{k,l} \left( \|\vec{X}_{l} - \vec{X}_{k}\| - r_{k,l} \right) *\frac{\vec{X}_{l} - \vec{X}_{k}}{\|\vec{X}_{l} - \vec{X}_{k}\|}, \]

and

\[ \vec{F}_l = \kappa_{k,l} \left( \|\vec{X}_{l} - \vec{X}_{k}\| - r_{k,l} \right) *\frac{\vec{X}_{k} - \vec{X}_{l}}{\|\vec{X}_{l} - \vec{X}_{k}\|} = - \vec{F}_k, \]

where $ \kappa_{k,l} $ is the stiffness of the spring connecting nodes $ k $ and $ l $, and where $ r_{k,l} $ is the associated resting length of the spring.

This function computes the undirected spring "tension" force $ T_{k,l} $ associated with these forces,

\[ T_{k,l} = \kappa_{k,l} \left( \|\vec{X}_{l} - \vec{X}_{k}\| - r_{k,l} \right). \]

$ T_{k,l} $ is used to compute the directed spring forces by IBStandardForceGen via as

\[ \vec{F}_k = T_{k,l} \frac{\vec{X}_{l} - \vec{X}_{k}}{\|\vec{X}_{l} - \vec{X}_{k}\|} \]

and

\[ \vec{F}_l = T_{k,l} \frac{\vec{X}_{k} - \vec{X}_{l}}{\|\vec{X}_{k} - \vec{X}_{l}\|}. \]

Returns
The (undirected) "tension" force generated by the spring.
Parameters
RThe displacement between the "master" and "slave" nodes associated with the spring.
paramsConstitutive parameters.
lag_mastr_idxThe Lagrangian index of the "master" node associated with the spring.
lag_slave_idxThe Lagrangian index of the "slave" node associated with the spring.
Note
This is the default force generation function employed by class IBStandardForceGen. It is associated with force_fcn_idx 0. Users may override this default value with any function that implements the interface required by IBStandardForceGen::registerSpringForceFunction().