|
| bool | d_apply_mass_constraint = false |
| |
| bool | d_apply_vol_redistribution = false |
| |
| bool | d_apply_subcell_fix = false |
| |
| bool | d_apply_sign_fix = false |
| |
| int | d_D_gcw = -1 |
| |
| double | d_alpha = 1.0 |
| |
| 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 relaxation method. More...
|
| |
| void | setApplyMassConstraint (bool apply_mass_constraint) |
| | Indicate that the class should apply the mass constraint. More...
|
| |
| void | setApplySubcellFix (bool apply_subcell_fix) |
| | Indicate that the class should apply the subcell fix. More...
|
| |
| void | setApplySignFix (bool apply_sign_fix) |
| | Indicate that the class should apply the sign fix near interface points. More...
|
| |
| void | setLSGhostCellWidth (int D_gcw) |
| | Hard set the ghost cell width for the level set variable. More...
|
| |
| void | setApplyVolumeRedistribution (bool apply_volume_redistribution) |
| | Indicate that the class should apply the volume redistribution algorithm. More...
|
| |
| void | relax (SAMRAI::tbox::Pointer< IBTK::HierarchyGhostCellInterpolation > D_fill_op, SAMRAI::tbox::Pointer< IBTK::HierarchyMathOps > hier_math_ops, int dist_idx, int dist_init_idx, int dist_copy_idx, int dt_idx, const int iter, const double time) const |
| | Do one relaxation step over the hierarchy. More...
|
| |
| void | relax (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > dist_data, const SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > dist_init_data, SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > dt_data, const SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > patch, const int iter) const |
| | Do one relaxation step over a patch. More...
|
| |
| void | computeHamiltonian (SAMRAI::tbox::Pointer< IBTK::HierarchyMathOps > hier_math_ops, int ham_idx, int dist_idx) const |
| | Compute the Hamiltonian of the indicator field over the hierarchy. More...
|
| |
| void | computeHamiltonian (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > ham_data, const SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > dist_data, const SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > patch) const |
| | Compute the hamiltonian of the indicator field field over a patch. More...
|
| |
| void | applyMassConstraint (SAMRAI::tbox::Pointer< IBTK::HierarchyMathOps > hier_math_ops, int dist_idx, int dist_copy_idx, int dist_init_idx, int ham_init_idx) const |
| | Apply the mass constraint over the hierarchy. More...
|
| |
| void | applyMassConstraint (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > dist_data, const SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > dist_copy_data, const SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > dist_init_data, const SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > ham_init_data, const SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > patch) const |
| | Apply the mass constraint over a patch. More...
|
| |
| void | applyVolumeRedistribution (SAMRAI::tbox::Pointer< IBTK::HierarchyMathOps > hier_math_ops, int lambda_idx, int dist_idx, int dist_init_idx, int ham_idx, int dt_idx) const |
| |
| void | getFromInput (SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > db) |
| |
| void | getFromRestart () |
| |
| | RelaxationLSMethod (const RelaxationLSMethod &from)=delete |
| | Copy constructor. More...
|
| |
| RelaxationLSMethod & | operator= (const RelaxationLSMethod &that)=delete |
| | Assignment operator. More...
|
| |
An optional mass constraint can be applied to certain high-order LS schemes by first computing an intermediate \(\tilde{Q}\) and projecting in the following way:
\(Q = \tilde{Q} + \lambda_{ij}H'(Q^0)|\nabla Q^0|\).
This greatly improves the volume conservation of the interface while still retaining the order of accuracy and signed distance property. The mass conservation constraint assumes that \(Q^0\) is already close to a signed distance function and is hence, by default, disabled at initial time.
References Min, C., On reinitializing level set functions
Sussman, M. and Fatemi, E., An Efficient, Interface-Preserving Level Set Redistancing Algorithm and Its Application to Interfacial Incompressible Fluid Flow