IBAMR
An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
Public Member Functions | Protected Attributes | List of all members
IBAMR::FastSweepingLSMethod Class Reference

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

#include </home/runner/work/IBAMR/IBAMR/include/ibamr/FastSweepingLSMethod.h>

Inheritance diagram for IBAMR::FastSweepingLSMethod:
Inheritance graph
[legend]

Public Member Functions

 FastSweepingLSMethod (std::string object_name, SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > db=NULL, bool register_for_restart=true)
 Constructor.
 
virtual ~FastSweepingLSMethod ()=default
 Destructor.
 
void initializeLSData (int D_idx, SAMRAI::tbox::Pointer< IBTK::HierarchyMathOps > hierarchy_math_ops, int integrator_step, double time, bool initial_time) override
 Initialize level set data using the fast-sweeping method.
 
- Public Member Functions inherited from IBAMR::LSInitStrategy
 LSInitStrategy (std::string object_name, bool register_for_restart=true)
 Constructor.
 
virtual ~LSInitStrategy ()
 Virtual destructor.
 
virtual void registerPhysicalBoundaryCondition (SAMRAI::solv::RobinBcCoefStrategy< NDIM > *robin_bc_coef)
 Register physical boundary condition for the level set.
 
virtual void registerInterfaceNeighborhoodLocatingFcn (LocateInterfaceNeighborhoodFcnPtr callback, void *ctx)
 Register interface neighborhood locating functions.
 
virtual void setReinitializeLSData (bool reinit_ls_data)
 Indicate that the class should reinitialize level set.
 
void putToDatabase (SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > db) override
 

Protected Attributes

bool d_consider_phys_bdry_wall = false
 
int d_wall_location_idx [2 *NDIM]
 
- Protected Attributes inherited from IBAMR::LSInitStrategy
std::string d_object_name
 
bool d_registered_for_restart
 
LevelSetOrder d_ls_order = FIRST_ORDER_LS
 
LevelSetTimeStepping d_ls_ts = GAUSS_SEIDEL_PSEUDO_TS
 
double d_abs_tol = 1.0e-5
 
int d_max_its = 100
 
bool d_enable_logging = false
 
bool d_reinitialize_ls = false
 
int d_reinit_interval = 0
 
SAMRAI::solv::RobinBcCoefStrategy< NDIM > * d_bc_coef
 
std::vector< LocateInterfaceNeighborhoodFcnPtrd_locate_interface_fcns
 
std::vector< void * > d_locate_interface_fcns_ctx
 

Additional Inherited Members

- Public Types inherited from IBAMR::LSInitStrategy
using LocateInterfaceNeighborhoodFcnPtr = void(*)(int D_idx, SAMRAI::tbox::Pointer< IBTK::HierarchyMathOps > hier_math_ops, double time, bool initial_time, void *ctx)
 Function specifying distance function near an interface.
 

Detailed Description

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.

Note
The class can also compute distance function from physical domain boundary if specified through input file. In presence of a physical domain wall, the distance function at a grid point is D = min(distance from interface, distance from wall location).

References Zhao, H., A Fast Sweeping Method For Eikonal Equations


The documentation for this class was generated from the following files: