|
| AdvDiffPredictorCorrectorHierarchyIntegrator (const std::string &object_name, SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > input_db, SAMRAI::tbox::Pointer< AdvectorExplicitPredictorPatchOps > explicit_predictor, bool register_for_restart=true) |
|
| ~AdvDiffPredictorCorrectorHierarchyIntegrator ()=default |
|
SAMRAI::tbox::Pointer< SAMRAI::algs::HyperbolicLevelIntegrator< NDIM > > | getHyperbolicLevelIntegrator () const |
|
SAMRAI::tbox::Pointer< AdvDiffPredictorCorrectorHyperbolicPatchOps > | getHyperbolicPatchStrategy () const |
|
void | initializeHierarchyIntegrator (SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, SAMRAI::tbox::Pointer< SAMRAI::mesh::GriddingAlgorithm< NDIM > > gridding_alg) override |
|
void | preprocessIntegrateHierarchy (double current_time, double new_time, int num_cycles=1) override |
|
void | postprocessIntegrateHierarchy (double current_time, double new_time, bool skip_synchronize_new_state_data, int num_cycles=1) override |
|
| ~AdvDiffHierarchyIntegrator () |
|
void | setDefaultDiffusionTimeSteppingType (TimeSteppingType default_diffusion_time_stepping_type) |
|
TimeSteppingType | getDefaultDiffusionTimeSteppingType () const |
|
void | setDefaultConvectiveDifferencingType (ConvectiveDifferencingType default_convective_difference_form) |
|
ConvectiveDifferencingType | getDefaultConvectiveDifferencingType () const |
|
virtual void | registerAdvectionVelocity (SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceVariable< NDIM, double > > u_var) |
|
void | setAdvectionVelocityIsDivergenceFree (SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceVariable< NDIM, double > > u_var, bool is_div_free) |
|
bool | getAdvectionVelocityIsDivergenceFree (SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceVariable< NDIM, double > > u_var) const |
|
void | setAdvectionVelocityFunction (SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceVariable< NDIM, double > > u_var, SAMRAI::tbox::Pointer< IBTK::CartGridFunction > u_fcn) |
|
SAMRAI::tbox::Pointer< IBTK::CartGridFunction > | getAdvectionVelocityFunction (SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceVariable< NDIM, double > > u_var) const |
|
virtual void | registerSourceTerm (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > F_var, const bool output_F=true) |
|
void | setSourceTermFunction (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > F_var, SAMRAI::tbox::Pointer< IBTK::CartGridFunction > F_fcn) |
|
SAMRAI::tbox::Pointer< IBTK::CartGridFunction > | getSourceTermFunction (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > F_var) const |
|
virtual void | registerTransportedQuantity (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var, const bool output_Q=true) |
|
void | setAdvectionVelocity (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var, SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceVariable< NDIM, double > > u_var) |
|
SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceVariable< NDIM, double > > | getAdvectionVelocity (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var) const |
|
void | setSourceTerm (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var, SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > F_var) |
|
SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > | getSourceTerm (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var) const |
|
void | setDiffusionTimeSteppingType (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var, TimeSteppingType time_stepping_type) |
|
TimeSteppingType | getDiffusionTimeSteppingType (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var) const |
|
void | setConvectiveDifferencingType (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var, ConvectiveDifferencingType difference_form) |
|
ConvectiveDifferencingType | getConvectiveDifferencingType (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var) const |
|
void | setDiffusionCoefficient (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var, double kappa) |
|
double | getDiffusionCoefficient (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var) const |
|
void | registerDiffusionCoefficientVariable (SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > D_var) |
|
void | setDiffusionCoefficientFunction (SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > D_var, SAMRAI::tbox::Pointer< IBTK::CartGridFunction > D_fcn) |
|
SAMRAI::tbox::Pointer< IBTK::CartGridFunction > | getDiffusionCoefficientFunction (SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > D_var) const |
|
void | setDiffusionCoefficientVariable (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var, SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > D_var) |
|
SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > | getDiffusionCoefficientVariable (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var) const |
|
bool | isDiffusionCoefficientVariable (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var) const |
|
void | setDampingCoefficient (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var, double lambda) |
|
double | getDampingCoefficient (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var) const |
|
void | setInitialConditions (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var, SAMRAI::tbox::Pointer< IBTK::CartGridFunction > Q_init) |
|
SAMRAI::tbox::Pointer< IBTK::CartGridFunction > | getInitialConditions (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var) const |
|
void | setPhysicalBcCoef (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var, SAMRAI::solv::RobinBcCoefStrategy< NDIM > *Q_bc_coef) |
|
void | setPhysicalBcCoefs (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var, const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > &Q_bc_coef) |
|
std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > | getPhysicalBcCoefs (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var) const |
|
void | setHelmholtzSolver (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var, SAMRAI::tbox::Pointer< IBTK::PoissonSolver > helmholtz_solver) |
|
SAMRAI::tbox::Pointer< IBTK::PoissonSolver > | getHelmholtzSolver (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var) |
|
void | setHelmholtzSolversNeedInit () |
|
void | setHelmholtzSolverNeedsInit (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var) |
|
void | setHelmholtzRHSOperator (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var, SAMRAI::tbox::Pointer< IBTK::LaplaceOperator > helmholtz_rhs_operator) |
|
SAMRAI::tbox::Pointer< IBTK::LaplaceOperator > | getHelmholtzRHSOperator (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var) |
|
void | setHelmholtzRHSOperatorsNeedInit () |
|
void | setHelmholtzRHSOperatorNeedsInit (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var) |
|
void | registerResetFunction (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var, ResetPropertiesFcnPtr callback, void *ctx) |
| Register a reset callback function for a specified variable.
|
|
void | setResetPriority (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var, int priority) |
| Set a reset priority for a particular variable. More...
|
|
std::vector< ResetPropertiesFcnPtr > | getResetFunctions (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var) const |
| Get the reset callback functions registered with this variable.
|
|
int | getResetPriority (SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var) const |
| Get the reset priority for a particular variable.
|
|
| HierarchyIntegrator (std::string object_name, SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > input_db, bool register_for_restart) |
|
| ~HierarchyIntegrator () |
|
const std::string & | getName () const |
|
virtual void | initializePatchHierarchy (SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, SAMRAI::tbox::Pointer< SAMRAI::mesh::GriddingAlgorithm< NDIM > > gridding_alg) |
|
virtual void | advanceHierarchy (double dt) |
|
double | getMinimumTimeStepSize () |
|
double | getMaximumTimeStepSize () |
|
void | synchronizeHierarchyData (VariableContextType ctx_type) |
|
void | resetTimeDependentHierarchyData (double new_time) |
|
void | resetIntegratorToPreadvanceState () |
|
virtual void | regridHierarchy () |
|
bool | atRegridPoint () const |
|
double | getIntegratorTime () const |
|
double | getStartTime () const |
|
double | getEndTime () const |
|
int | getIntegratorStep () const |
|
int | getMaxIntegratorSteps () const |
|
bool | stepsRemaining () const |
|
void | updateWorkloadEstimates () |
|
SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > | getPatchHierarchy () const |
|
SAMRAI::tbox::Pointer< SAMRAI::mesh::GriddingAlgorithm< NDIM > > | getGriddingAlgorithm () const |
|
virtual void | registerLoadBalancer (SAMRAI::tbox::Pointer< SAMRAI::mesh::LoadBalancer< NDIM > > load_balancer) |
|
int | getWorkloadDataIndex () const |
|
void | registerVisItDataWriter (SAMRAI::tbox::Pointer< SAMRAI::appu::VisItDataWriter< NDIM > > visit_writer) |
|
SAMRAI::tbox::Pointer< SAMRAI::appu::VisItDataWriter< NDIM > > | getVisItDataWriter () const |
|
void | setupPlotData () |
|
virtual int | getNumberOfCycles () const |
|
virtual int | getCurrentCycleNumber () const |
|
virtual double | getCurrentTimeStepSize () const |
|
void | integrateHierarchy (double current_time, double new_time, int cycle_num=0) |
|
void | skipCycle (double current_time, double new_time, int cycle_num=0) |
|
void | registerPreprocessIntegrateHierarchyCallback (PreprocessIntegrateHierarchyCallbackFcnPtr callback, void *ctx=nullptr) |
|
void | registerIntegrateHierarchyCallback (IntegrateHierarchyCallbackFcnPtr callback, void *ctx=nullptr) |
|
void | registerPostprocessIntegrateHierarchyCallback (PostprocessIntegrateHierarchyCallbackFcnPtr callback, void *ctx=nullptr) |
|
void | registerApplyGradientDetectorCallback (ApplyGradientDetectorCallbackFcnPtr callback, void *ctx=nullptr) |
|
void | registerRegridHierarchyCallback (RegridHierarchyCallbackFcnPtr, void *ctx=nullptr) |
|
void | initializeCompositeHierarchyData (double init_data_time, bool initial_time) |
|
void | initializeLevelData (SAMRAI::tbox::Pointer< SAMRAI::hier::BasePatchHierarchy< NDIM > > hierarchy, int level_number, double init_data_time, bool can_be_refined, bool initial_time, SAMRAI::tbox::Pointer< SAMRAI::hier::BasePatchLevel< NDIM > > old_level=SAMRAI::tbox::Pointer< SAMRAI::hier::BasePatchLevel< NDIM > >(NULL), bool allocate_data=true) override |
|
void | resetHierarchyConfiguration (SAMRAI::tbox::Pointer< SAMRAI::hier::BasePatchHierarchy< NDIM > > hierarchy, int coarsest_level, int finest_level) override |
|
void | applyGradientDetector (SAMRAI::tbox::Pointer< SAMRAI::hier::BasePatchHierarchy< NDIM > > hierarchy, int level_number, double error_data_time, int tag_index, bool initial_time, bool uses_richardson_extrapolation_too) override |
|
SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContext > | getContext (VariableContextType ctx_type) const |
|
SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContext > | getCurrentContext () const |
|
SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContext > | getNewContext () const |
|
SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContext > | getScratchContext () const |
|
SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContext > | getPlotContext () const |
|
bool | isAllocatedPatchData (int data_idx, int coarsest_ln=invalid_level_number, int finest_ln=invalid_level_number) const |
|
void | allocatePatchData (int data_idx, double data_time, int coarsest_ln=invalid_level_number, int finest_ln=invalid_level_number) const |
|
void | deallocatePatchData (int data_idx, int coarsest_ln=invalid_level_number, int finest_ln=invalid_level_number) const |
|
SAMRAI::tbox::Pointer< HierarchyMathOps > | getHierarchyMathOps () const |
|
void | registerVariable (int ¤t_idx, int &new_idx, int &scratch_idx, SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > > variable, const SAMRAI::hier::IntVector< NDIM > &scratch_ghosts=SAMRAI::hier::IntVector< NDIM >(0), const std::string &coarsen_name="NO_COARSEN", const std::string &refine_name="NO_REFINE", SAMRAI::tbox::Pointer< CartGridFunction > init_fcn=SAMRAI::tbox::Pointer< CartGridFunction >(NULL), const bool register_for_restart=true) |
|
void | registerVariable (int &idx, SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > > variable, const SAMRAI::hier::IntVector< NDIM > &ghosts=SAMRAI::hier::IntVector< NDIM >(0), SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContext > ctx=SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContext >(NULL), const bool register_for_restart=true) |
|
void | putToDatabase (SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > db) override |
|
Public Member Functions inherited from SAMRAI::mesh::StandardTagAndInitStrategy< NDIM > |
virtual double | getLevelDt (const tbox::Pointer< hier::BasePatchLevel< NDIM > > level, const double dt_time, const bool initial_time) |
|
virtual double | advanceLevel (const tbox::Pointer< hier::BasePatchLevel< NDIM > > level, const tbox::Pointer< hier::BasePatchHierarchy< NDIM > > hierarchy, const double current_time, const double new_time, const bool first_step, const bool last_step, const bool regrid_advance=false) |
|
virtual void | resetTimeDependentData (const tbox::Pointer< hier::BasePatchLevel< NDIM > > level, const double new_time, const bool can_be_refined) |
|
virtual void | resetDataToPreadvanceState (const tbox::Pointer< hier::BasePatchLevel< NDIM > > level) |
|
virtual void | applyRichardsonExtrapolation (const tbox::Pointer< hier::PatchLevel< NDIM > > level, const double error_data_time, const int tag_index, const double deltat, const int error_coarsen_ratio, const bool initial_time, const bool uses_gradient_detector_too) |
|
virtual void | coarsenDataForRichardsonExtrapolation (const tbox::Pointer< hier::PatchHierarchy< NDIM > > hierarchy, const int level_number, const tbox::Pointer< hier::PatchLevel< NDIM > > coarser_level, const double coarsen_data_time, const bool before_advance) |
|
|
void | integrateHierarchySpecialized (double current_time, double new_time, int cycle_num=0) override |
|
double | getMaximumTimeStepSizeSpecialized () override |
|
void | resetTimeDependentHierarchyDataSpecialized (double new_time) override |
|
void | resetIntegratorToPreadvanceStateSpecialized () override |
|
void | initializeLevelDataSpecialized (SAMRAI::tbox::Pointer< SAMRAI::hier::BasePatchHierarchy< NDIM > > hierarchy, int level_number, double init_data_time, bool can_be_refined, bool initial_time, SAMRAI::tbox::Pointer< SAMRAI::hier::BasePatchLevel< NDIM > > old_level, bool allocate_data) override |
|
void | resetHierarchyConfigurationSpecialized (SAMRAI::tbox::Pointer< SAMRAI::hier::BasePatchHierarchy< NDIM > > hierarchy, int coarsest_level, int finest_level) override |
|
void | applyGradientDetectorSpecialized (SAMRAI::tbox::Pointer< SAMRAI::hier::BasePatchHierarchy< NDIM > > hierarchy, int level_number, double error_data_time, int tag_index, bool initial_time, bool uses_richardson_extrapolation_too) override |
|
| AdvDiffHierarchyIntegrator (const std::string &object_name, SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > input_db, bool register_for_restart) |
|
void | initializeCompositeHierarchyDataSpecialized (double init_data_time, bool initial_time) override |
|
void | putToDatabaseSpecialized (SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > db) override |
|
void | registerVariables () |
|
virtual void | regridHierarchyBeginSpecialized () |
|
virtual void | regridHierarchyEndSpecialized () |
|
virtual double | getMinimumTimeStepSizeSpecialized () |
|
virtual void | synchronizeHierarchyDataSpecialized (VariableContextType ctx_type) |
|
virtual bool | atRegridPointSpecialized () const |
|
virtual void | setupPlotDataSpecialized () |
|
virtual void | addWorkloadEstimate (SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, const int workload_data_idx) |
|
virtual void | executePreprocessIntegrateHierarchyCallbackFcns (double current_time, double new_time, int num_cycles) |
|
virtual void | executeIntegrateHierarchyCallbackFcns (double current_time, double new_time, int cycle_num) |
|
virtual void | executePostprocessIntegrateHierarchyCallbackFcns (double current_time, double new_time, bool skip_synchronize_new_state_data, int num_cycles) |
|
virtual void | executeApplyGradientDetectorCallbackFcns (SAMRAI::tbox::Pointer< SAMRAI::hier::BasePatchHierarchy< NDIM > > hierarchy, int level_number, double error_data_time, int tag_index, bool initial_time, bool uses_richardson_extrapolation_too) |
|
virtual void | executeRegridHierarchyCallbackFcns (SAMRAI::tbox::Pointer< SAMRAI::hier::BasePatchHierarchy< NDIM > > hierarchy, double data_time, bool initial_time) |
|
void | registerGhostfillRefineAlgorithm (const std::string &name, SAMRAI::tbox::Pointer< SAMRAI::xfer::RefineAlgorithm< NDIM > > ghostfill_alg, std::unique_ptr< SAMRAI::xfer::RefinePatchStrategy< NDIM > > ghostfill_patch_strategy=nullptr) |
|
void | registerProlongRefineAlgorithm (const std::string &name, SAMRAI::tbox::Pointer< SAMRAI::xfer::RefineAlgorithm< NDIM > > prolong_alg, std::unique_ptr< SAMRAI::xfer::RefinePatchStrategy< NDIM > > prolong_patch_strategy=nullptr) |
|
void | registerCoarsenAlgorithm (const std::string &name, SAMRAI::tbox::Pointer< SAMRAI::xfer::CoarsenAlgorithm< NDIM > > coarsen_alg, std::unique_ptr< SAMRAI::xfer::CoarsenPatchStrategy< NDIM > > coarsen_patch_strategy=nullptr) |
|
SAMRAI::tbox::Pointer< SAMRAI::xfer::RefineAlgorithm< NDIM > > | getGhostfillRefineAlgorithm (const std::string &name) const |
|
SAMRAI::tbox::Pointer< SAMRAI::xfer::RefineAlgorithm< NDIM > > | getProlongRefineAlgorithm (const std::string &name) const |
|
SAMRAI::tbox::Pointer< SAMRAI::xfer::CoarsenAlgorithm< NDIM > > | getCoarsenAlgorithm (const std::string &name) const |
|
const std::vector< SAMRAI::tbox::Pointer< SAMRAI::xfer::RefineSchedule< NDIM > > > & | getGhostfillRefineSchedules (const std::string &name) const |
|
const std::vector< SAMRAI::tbox::Pointer< SAMRAI::xfer::RefineSchedule< NDIM > > > & | getProlongRefineSchedules (const std::string &name) const |
|
const std::vector< SAMRAI::tbox::Pointer< SAMRAI::xfer::CoarsenSchedule< NDIM > > > & | getCoarsenSchedules (const std::string &name) const |
|
void | registerChildHierarchyIntegrator (HierarchyIntegrator *child_integrator) |
|
void | registerParentHierarchyIntegrator (HierarchyIntegrator *parent_integrator) |
|
SAMRAI::tbox::Pointer< HierarchyMathOps > | buildHierarchyMathOps (SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy) |
|
void | setupTagBuffer (SAMRAI::tbox::Pointer< SAMRAI::mesh::GriddingAlgorithm< NDIM > > gridding_alg) |
|
bool | regriddingHierarchy () const |
|
bool | atRegridTimeStep () const |
|
|
using | ResetPropertiesFcnPtr = void(*)(int property_idx, SAMRAI::tbox::Pointer< IBTK::HierarchyMathOps > hier_math_ops, int integrator_step, double time, bool initial_time, bool regrid_time, void *ctx) |
| Function to reset variables registered by this integrator.
|
|
using | PreprocessIntegrateHierarchyCallbackFcnPtr = void(*)(double current_time, double new_time, int num_cycles, void *ctx) |
|
using | IntegrateHierarchyCallbackFcnPtr = void(*)(double current_time, double new_time, int cycle_num, void *ctx) |
|
using | PostprocessIntegrateHierarchyCallbackFcnPtr = void(*)(double current_time, double new_time, bool skip_synchronize_new_state_data, int num_cycles, void *ctx) |
|
using | ApplyGradientDetectorCallbackFcnPtr = void(*)(SAMRAI::tbox::Pointer< SAMRAI::hier::BasePatchHierarchy< NDIM > > hierarchy, int level_number, double error_data_time, int tag_index, bool initial_time, bool uses_richardson_extrapolation_too, void *ctx) |
|
using | RegridHierarchyCallbackFcnPtr = void(*)(SAMRAI::tbox::Pointer< SAMRAI::hier::BasePatchHierarchy< NDIM > > hierarchy, double data_time, bool initial_time, void *ctx) |
|
bool | d_integrator_is_initialized = false |
|
double | d_cfl_max = 0.5 |
|
TimeSteppingType | d_default_diffusion_time_stepping_type = TRAPEZOIDAL_RULE |
|
ConvectiveDifferencingType | d_default_convective_difference_form = CONSERVATIVE |
|
std::vector< SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceVariable< NDIM, double > > > | d_u_var |
|
std::map< SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceVariable< NDIM, double > >, bool > | d_u_is_div_free |
|
std::map< SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceVariable< NDIM, double > >, SAMRAI::tbox::Pointer< IBTK::CartGridFunction > > | d_u_fcn |
|
std::vector< SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > > | d_F_var |
|
std::map< SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > >, SAMRAI::tbox::Pointer< IBTK::CartGridFunction > > | d_F_fcn |
|
std::map< SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > >, bool > | d_F_output |
|
std::vector< SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > > | d_diffusion_coef_var |
|
std::vector< SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > > | d_diffusion_coef_rhs_var |
|
std::map< SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > >, SAMRAI::tbox::Pointer< IBTK::CartGridFunction > > | d_diffusion_coef_fcn |
|
std::map< SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > >, SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > > | d_diffusion_coef_rhs_map |
|
std::vector< SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > > | d_Q_var |
|
std::vector< SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > > | d_Q_rhs_var |
|
std::map< SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > >, SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceVariable< NDIM, double > > > | d_Q_u_map |
|
std::map< SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > >, SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > > | d_Q_F_map |
|
std::map< SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > >, SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > > | d_Q_Q_rhs_map |
|
std::map< SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > >, TimeSteppingType > | d_Q_diffusion_time_stepping_type |
|
std::map< SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > >, ConvectiveDifferencingType > | d_Q_difference_form |
|
std::map< SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > >, double > | d_Q_diffusion_coef |
|
std::map< SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > >, SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > > | d_Q_diffusion_coef_variable |
|
std::map< SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > >, bool > | d_Q_is_diffusion_coef_variable |
|
std::map< SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > >, double > | d_Q_damping_coef |
|
std::map< SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > >, SAMRAI::tbox::Pointer< IBTK::CartGridFunction > > | d_Q_init |
|
std::map< SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > >, std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > > | d_Q_bc_coef |
|
std::map< SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > >, bool > | d_Q_output |
|
std::map< SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > >, std::vector< ResetPropertiesFcnPtr > > | d_Q_reset_fcns |
|
std::map< SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > >, std::vector< void * > > | d_Q_reset_fcns_ctx |
|
std::vector< int > | d_Q_reset_priority |
|
SAMRAI::tbox::Pointer< SAMRAI::math::HierarchyCellDataOpsReal< NDIM, double > > | d_hier_cc_data_ops |
|
SAMRAI::tbox::Pointer< SAMRAI::math::HierarchySideDataOpsReal< NDIM, double > > | d_hier_sc_data_ops |
|
std::vector< SAMRAI::tbox::Pointer< IBTK::HierarchyGhostCellInterpolation > > | d_hier_bdry_fill_ops |
|
SAMRAI::tbox::Pointer< IBTK::HierarchyGhostCellInterpolation > | d_no_fill_op |
|
std::vector< SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > > | d_sol_vecs |
|
std::vector< SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > > | d_rhs_vecs |
|
std::string | d_helmholtz_solver_type |
|
std::string | d_helmholtz_precond_type |
|
std::string | d_helmholtz_sub_precond_type |
|
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > | d_helmholtz_solver_db |
|
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > | d_helmholtz_precond_db |
|
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > | d_helmholtz_sub_precond_db |
|
std::vector< SAMRAI::tbox::Pointer< IBTK::PoissonSolver > > | d_helmholtz_solvers |
|
std::vector< SAMRAI::tbox::Pointer< IBTK::LaplaceOperator > > | d_helmholtz_rhs_ops |
|
std::vector< bool > | d_helmholtz_solvers_need_init |
|
std::vector< bool > | d_helmholtz_rhs_ops_need_init |
|
int | d_coarsest_reset_ln = IBTK::invalid_level_number |
|
int | d_finest_reset_ln = IBTK::invalid_level_number |
|
std::string | d_object_name |
|
bool | d_registered_for_restart = false |
|
SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > | d_hierarchy |
|
SAMRAI::tbox::Pointer< SAMRAI::mesh::GriddingAlgorithm< NDIM > > | d_gridding_alg |
|
SAMRAI::tbox::Pointer< SAMRAI::mesh::LoadBalancer< NDIM > > | d_load_balancer |
|
SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > | d_workload_var |
|
int | d_workload_idx = IBTK::invalid_index |
|
bool | d_hierarchy_is_initialized = false |
|
bool | d_may_need_to_reset_hierarchy_configuration = false |
|
HierarchyIntegrator * | d_parent_integrator = nullptr |
|
std::set< HierarchyIntegrator * > | d_child_integrators |
|
SAMRAI::tbox::Pointer< SAMRAI::appu::VisItDataWriter< NDIM > > | d_visit_writer |
|
double | d_integrator_time = std::numeric_limits<double>::quiet_NaN() |
|
double | d_start_time = 0.0 |
|
double | d_end_time = std::numeric_limits<double>::max() |
|
double | d_dt_init = std::numeric_limits<double>::max() |
|
double | d_dt_min = 0.0 |
|
double | d_dt_max = std::numeric_limits<double>::max() |
|
double | d_dt_growth_factor = 2.0 |
|
int | d_integrator_step = 0 |
|
int | d_max_integrator_steps = std::numeric_limits<int>::max() |
|
std::deque< double > | d_dt_previous |
|
int | d_num_cycles = 1 |
|
int | d_current_num_cycles = -1 |
|
int | d_current_cycle_num = -1 |
|
double | d_current_dt = std::numeric_limits<double>::quiet_NaN() |
|
int | d_regrid_interval = 1 |
|
RegridMode | d_regrid_mode = STANDARD |
|
bool | d_enable_logging = false |
|
bool | d_enable_logging_solver_iterations = false |
|
std::string | d_bdry_extrap_type = "LINEAR" |
|
SAMRAI::tbox::Array< int > | d_tag_buffer = { 0 } |
|
SAMRAI::tbox::Pointer< HierarchyMathOps > | d_hier_math_ops |
|
bool | d_manage_hier_math_ops = true |
|
std::list< SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > > > | d_state_variables |
|
std::list< SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > > > | d_scratch_variables |
|
std::list< SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > > > | d_copy_scratch_to_current_fast |
|
std::list< SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > > > | d_copy_scratch_to_current_slow |
|
SAMRAI::hier::ComponentSelector | d_current_data |
|
SAMRAI::hier::ComponentSelector | d_new_data |
|
SAMRAI::hier::ComponentSelector | d_scratch_data |
|
SAMRAI::hier::ComponentSelector | d_plot_data |
|
std::map< SAMRAI::hier::Variable< NDIM > *, SAMRAI::tbox::Pointer< CartGridFunction > > | d_state_var_init_fcns |
|
SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContext > | d_current_context |
|
SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContext > | d_new_context |
|
SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContext > | d_scratch_context |
|
SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContext > | d_plot_context |
|
SAMRAI::hier::ComponentSelector | d_fill_after_regrid_bc_idxs |
|
SAMRAI::xfer::RefineAlgorithm< NDIM > | d_fill_after_regrid_prolong_alg |
|
std::unique_ptr< SAMRAI::xfer::RefinePatchStrategy< NDIM > > | d_fill_after_regrid_phys_bdry_bc_op |
|
std::vector< PreprocessIntegrateHierarchyCallbackFcnPtr > | d_preprocess_integrate_hierarchy_callbacks |
|
std::vector< void * > | d_preprocess_integrate_hierarchy_callback_ctxs |
|
std::vector< IntegrateHierarchyCallbackFcnPtr > | d_integrate_hierarchy_callbacks |
|
std::vector< void * > | d_integrate_hierarchy_callback_ctxs |
|
std::vector< PostprocessIntegrateHierarchyCallbackFcnPtr > | d_postprocess_integrate_hierarchy_callbacks |
|
std::vector< void * > | d_postprocess_integrate_hierarchy_callback_ctxs |
|
std::vector< ApplyGradientDetectorCallbackFcnPtr > | d_apply_gradient_detector_callbacks |
|
std::vector< void * > | d_apply_gradient_detector_callback_ctxs |
|
std::vector< RegridHierarchyCallbackFcnPtr > | d_regrid_hierarchy_callbacks |
|
std::vector< void * > | d_regrid_hierarchy_callback_ctxs |
|
static const std::string | SYNCH_CURRENT_DATA_ALG = "SYNCH_CURRENT_DATA" |
|
static const std::string | SYNCH_NEW_DATA_ALG = "SYNCH_NEW_DATA" |
|
Class AdvDiffPredictorCorrectorHierarchyIntegrator manages the spatial discretization and time integration of scalar- and vector-valued quantities whose dynamics are governed by the advection-diffusion equation.
Each quantity managed by the integrator may have a unique diffusion coefficient and damping coefficient , and may optionally have a forcing term . Additionally, a different advection velocity may be used with each quantity registered with the integrator.
This hierarchy integrator advances all levels of the patch hierarchy synchronously in time. In particular, subcycling in time is not performed.
Either Crank-Nicolson (i.e., the trapezoidal rule) or backward Euler is used for the linearly implicit treatment of the diffusive terms. The advective terms are discretized by the AdvectorExplicitPredictorPatchOps object supplied to the class constructor.
- See also
- AdvDiffPredictorCorrectorHyperbolicPatchOps
-
HierarchyIntegrator
-
AdvectorExplicitPredictorPatchOps
-
SAMRAI::algs::HyperbolicLevelIntegrator
-
SAMRAI::mesh::StandardTagAndInitStrategy
-
SAMRAI::algs::TimeRefinementIntegrator
-
SAMRAI::algs::TimeRefinementLevelStrategy