IBAMR
An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
|
Class INSVCStaggeredNonConservativeHierarchyIntegrator provides a staggered-grid solver for the incompressible Navier-Stokes equations on an AMR grid hierarchy, with variable coefficients. More...
#include </home/runner/work/IBAMR/IBAMR/include/ibamr/INSVCStaggeredNonConservativeHierarchyIntegrator.h>
Additional Inherited Members | |
Public Types inherited from IBAMR::INSVCStaggeredHierarchyIntegrator | |
using | ResetFluidPropertiesFcnPtr = void(*)(int property_idx, SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > > property_var, SAMRAI::tbox::Pointer< IBTK::HierarchyMathOps > hier_math_ops, int cycle_num, double time, double current_time, double new_time, void *ctx) |
Function to reset fluid density or viscosity if they are maintained by this integrator. | |
Public Types inherited from IBTK::HierarchyIntegrator | |
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) |
Protected Attributes inherited from IBAMR::INSVCStaggeredHierarchyIntegrator | |
double | d_div_U_norm_1_pre = 0.0 |
double | d_div_U_norm_2_pre = 0.0 |
double | d_div_U_norm_oo_pre = 0.0 |
double | d_div_U_norm_1_post = 0.0 |
double | d_div_U_norm_2_post = 0.0 |
double | d_div_U_norm_oo_post = 0.0 |
bool | d_do_regrid_projection = false |
SAMRAI::tbox::Pointer< SAMRAI::math::HierarchyCellDataOpsReal< NDIM, double > > | d_hier_cc_data_ops |
SAMRAI::tbox::Pointer< SAMRAI::math::HierarchyFaceDataOpsReal< NDIM, double > > | d_hier_fc_data_ops |
SAMRAI::tbox::Pointer< SAMRAI::math::HierarchySideDataOpsReal< NDIM, double > > | d_hier_sc_data_ops |
SAMRAI::tbox::Pointer< SAMRAI::math::HierarchyNodeDataOpsReal< NDIM, double > > | d_hier_nc_data_ops |
SAMRAI::tbox::Pointer< SAMRAI::math::HierarchyEdgeDataOpsReal< NDIM, double > > | d_hier_ec_data_ops |
SAMRAI::tbox::Pointer< StaggeredStokesPhysicalBoundaryHelper > | d_bc_helper |
SAMRAI::tbox::Pointer< IBTK::SideDataSynchronization > | d_side_synch_op |
SAMRAI::tbox::Pointer< IBTK::HierarchyGhostCellInterpolation > | d_rho_bdry_bc_fill_op |
SAMRAI::tbox::Pointer< IBTK::HierarchyGhostCellInterpolation > | d_mu_bdry_bc_fill_op |
double | d_rho_scale = 1.0 |
double | d_mu_scale = 1.0 |
bool | d_output_rho = false |
bool | d_output_mu = false |
int | d_coarsest_reset_ln |
int | d_finest_reset_ln |
SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > | d_U_scratch_vec |
SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > | d_U_rhs_vec |
SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > | d_U_adv_vec |
SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > | d_N_vec |
SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > | d_P_scratch_vec |
SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > | d_P_rhs_vec |
SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > | d_sol_vec |
SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > | d_rhs_vec |
std::vector< SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > > | d_nul_vecs |
std::vector< SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > > | d_U_nul_vecs |
bool | d_vectors_need_init |
bool | d_explicitly_remove_nullspace = false |
std::string | d_stokes_solver_type = StaggeredStokesSolverManager::UNDEFINED |
std::string | d_stokes_precond_type = StaggeredStokesSolverManager::UNDEFINED |
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > | d_stokes_solver_db |
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > | d_stokes_precond_db |
SAMRAI::tbox::Pointer< StaggeredStokesSolver > | d_stokes_solver |
bool | d_stokes_solver_needs_init |
SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > | d_U_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > | d_U_old_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > | d_U_cc_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > | d_P_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > | d_F_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > | d_F_cc_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > | d_N_old_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > | d_Omega_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > | d_Div_U_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > | d_Omega_Norm_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > | d_U_regrid_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > | d_U_src_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > | d_indicator_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > | d_F_div_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > | d_Q_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > | d_EE_var |
SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > > | d_rho_var |
SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > > | d_mu_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > | d_pressure_D_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > | d_pressure_rhs_D_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::EdgeVariable< NDIM, double > > | d_velocity_D_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::EdgeVariable< NDIM, double > > | d_velocity_rhs_D_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > | d_velocity_D_cc_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > | d_velocity_C_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > | d_velocity_L_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > | d_velocity_rhs_C_var |
SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > | d_N_full_var |
std::string | d_N_coarsen_type = "CONSERVATIVE_COARSEN" |
std::string | d_N_refine_type = "CONSERVATIVE_LINEAR_REFINE" |
std::string | d_mu_coarsen_type = "CONSERVATIVE_COARSEN" |
std::string | d_mu_refine_type = "CONSERVATIVE_LINEAR_REFINE" |
std::string | d_mu_bdry_extrap_type = "CONSTANT" |
std::string | d_rho_coarsen_type = "CONSERVATIVE_COARSEN" |
std::string | d_rho_refine_type = "CONSERVATIVE_LINEAR_REFINE" |
std::string | d_rho_bdry_extrap_type = "CONSTANT" |
SAMRAI::tbox::Pointer< SAMRAI::pdat::EdgeVariable< NDIM, double > > | d_mu_interp_var |
std::vector< ResetFluidPropertiesFcnPtr > | d_reset_rho_fcns |
std::vector< ResetFluidPropertiesFcnPtr > | d_reset_mu_fcns |
std::vector< void * > | d_reset_rho_fcns_ctx |
std::vector< void * > | d_reset_mu_fcns_ctx |
std::vector< SAMRAI::tbox::Pointer< IBAMR::BrinkmanPenalizationStrategy > > | d_brinkman_force |
SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > | d_temp_sc_var |
int | d_temp_sc_idx |
SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > | d_temp_cc_var |
int | d_temp_cc_idx |
int | d_U_current_idx |
int | d_U_new_idx |
int | d_U_scratch_idx |
int | d_U_old_current_idx |
int | d_U_old_new_idx |
int | d_U_old_scratch_idx |
int | d_P_current_idx |
int | d_P_new_idx |
int | d_P_scratch_idx |
int | d_F_current_idx |
int | d_F_new_idx |
int | d_F_scratch_idx |
int | d_Q_current_idx |
int | d_Q_new_idx |
int | d_Q_scratch_idx |
int | d_N_old_current_idx |
int | d_N_old_new_idx |
int | d_N_old_scratch_idx |
int | d_mu_current_idx |
int | d_mu_new_idx |
int | d_mu_scratch_idx |
int | d_U_cc_idx |
int | d_F_cc_idx |
int | d_Omega_idx |
int | d_Div_U_idx |
int | d_EE_idx |
int | d_Omega_Norm_idx |
int | d_U_regrid_idx |
int | d_U_src_idx |
int | d_indicator_idx |
int | d_F_div_idx |
int | d_velocity_C_idx |
int | d_velocity_L_idx |
int | d_velocity_D_idx |
int | d_velocity_D_cc_idx |
int | d_pressure_D_idx |
int | d_velocity_rhs_C_idx |
int | d_velocity_rhs_D_idx |
int | d_pressure_rhs_D_idx |
int | d_mu_interp_idx |
int | d_N_full_idx |
int | d_mu_linear_op_idx |
int | d_mu_interp_linear_op_idx |
int | d_rho_linear_op_idx |
bool | d_rho_is_const = false |
bool | d_mu_is_const = false |
IBTK::VCInterpType | d_rho_vc_interp_type |
IBTK::VCInterpType | d_mu_vc_interp_type |
SAMRAI::tbox::Array< double > | d_A_scale |
int | d_precond_reinit_interval = 1 |
SAMRAI::tbox::Pointer< IBTK::CartGridFunction > | d_rho_init_fcn |
SAMRAI::tbox::Pointer< IBTK::CartGridFunction > | d_mu_init_fcn |
SAMRAI::solv::RobinBcCoefStrategy< NDIM > * | d_mu_bc_coef = nullptr |
SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > | d_mu_adv_diff_var |
unsigned int | d_mu_adv_diff_idx = 0 |
Protected Attributes inherited from IBAMR::INSHierarchyIntegrator | |
bool | d_integrator_is_initialized = false |
TimeSteppingType | d_viscous_time_stepping_type = TRAPEZOIDAL_RULE |
TimeSteppingType | d_convective_time_stepping_type = ADAMS_BASHFORTH |
TimeSteppingType | d_init_convective_time_stepping_type = MIDPOINT_RULE |
StokesSpecifications | d_problem_coefs |
std::vector< SAMRAI::tbox::Pointer< AdvDiffHierarchyIntegrator > > | d_adv_diff_hier_integrators |
SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceVariable< NDIM, double > > | d_U_adv_diff_var |
double | d_cfl_current = std::numeric_limits<double>::quiet_NaN() |
double | d_cfl_max = 1.0 |
bool | d_using_vorticity_tagging = false |
SAMRAI::tbox::Array< double > | d_Omega_rel_thresh |
SAMRAI::tbox::Array< double > | d_Omega_abs_thresh |
double | d_Omega_max = 0.0 |
bool | d_normalize_pressure = false |
bool | d_normalize_velocity = false |
bool | d_creeping_flow = false |
double | d_regrid_max_div_growth_factor = 1.1 |
double | d_U_scale = 1.0 |
double | d_P_scale = 1.0 |
double | d_F_scale = 1.0 |
double | d_Q_scale = 1.0 |
double | d_Omega_scale = 1.0 |
double | d_Div_U_scale = 1.0 |
double | d_EE_scale = 1.0 |
bool | d_output_U = true |
bool | d_output_P = true |
bool | d_output_F = false |
bool | d_output_Q = false |
bool | d_output_Omega = true |
bool | d_output_Div_U = true |
bool | d_output_EE = false |
SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > > | d_U_var |
std::string | d_U_coarsen_type = "CONSERVATIVE_COARSEN" |
std::string | d_U_refine_type = "CONSERVATIVE_LINEAR_REFINE" |
SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > > | d_P_var |
std::string | d_P_coarsen_type = "CONSERVATIVE_COARSEN" |
std::string | d_P_refine_type = "LINEAR_REFINE" |
SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > > | d_F_var |
std::string | d_F_coarsen_type = "CONSERVATIVE_COARSEN" |
std::string | d_F_refine_type = "CONSERVATIVE_LINEAR_REFINE" |
SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > > | d_Q_var |
std::string | d_Q_coarsen_type = "CONSERVATIVE_COARSEN" |
std::string | d_Q_refine_type = "CONSTANT_REFINE" |
SAMRAI::tbox::Pointer< IBTK::CartGridFunction > | d_U_init |
SAMRAI::tbox::Pointer< IBTK::CartGridFunction > | d_P_init |
SAMRAI::solv::LocationIndexRobinBcCoefs< NDIM > | d_default_bc_coefs |
std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > | d_bc_coefs |
std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > | d_U_bc_coefs |
std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > | d_U_star_bc_coefs |
TractionBcType | d_traction_bc_type = TRACTION |
SAMRAI::solv::RobinBcCoefStrategy< NDIM > * | d_P_bc_coef |
std::unique_ptr< SAMRAI::solv::RobinBcCoefStrategy< NDIM > > | d_Phi_bc_coef |
SAMRAI::tbox::Pointer< IBTK::CartGridFunction > | d_F_fcn |
SAMRAI::tbox::Pointer< IBTK::CartGridFunction > | d_Q_fcn |
SAMRAI::tbox::Pointer< IBTK::HierarchyGhostCellInterpolation > | d_U_bdry_bc_fill_op |
SAMRAI::tbox::Pointer< IBTK::HierarchyGhostCellInterpolation > | d_P_bdry_bc_fill_op |
SAMRAI::tbox::Pointer< IBTK::HierarchyGhostCellInterpolation > | d_Q_bdry_bc_fill_op |
SAMRAI::tbox::Pointer< IBTK::HierarchyGhostCellInterpolation > | d_no_fill_op |
bool | d_use_div_sink_drag_term = false |
int | d_coarsest_reset_ln |
int | d_finest_reset_ln |
std::string | d_convective_op_type = "DEFAULT" |
ConvectiveDifferencingType | d_convective_difference_form = ADVECTIVE |
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > | d_convective_op_input_db |
SAMRAI::tbox::Pointer< ConvectiveOperator > | d_convective_op |
bool | d_convective_op_needs_init |
std::string | d_velocity_solver_type |
std::string | d_velocity_precond_type |
std::string | d_velocity_sub_precond_type |
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > | d_velocity_solver_db |
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > | d_velocity_precond_db |
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > | d_velocity_sub_precond_db |
SAMRAI::tbox::Pointer< IBTK::PoissonSolver > | d_velocity_solver |
bool | d_velocity_solver_needs_init |
std::string | d_pressure_solver_type |
std::string | d_pressure_precond_type |
std::string | d_pressure_sub_precond_type |
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > | d_pressure_solver_db |
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > | d_pressure_precond_db |
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > | d_pressure_sub_precond_db |
SAMRAI::tbox::Pointer< IBTK::PoissonSolver > | d_pressure_solver |
bool | d_pressure_solver_needs_init |
std::string | d_regrid_projection_solver_type |
std::string | d_regrid_projection_precond_type |
std::string | d_regrid_projection_sub_precond_type |
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > | d_regrid_projection_solver_db |
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > | d_regrid_projection_precond_db |
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > | d_regrid_projection_sub_precond_db |
Protected Attributes inherited from IBTK::HierarchyIntegrator | |
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 Protected Attributes inherited from IBTK::HierarchyIntegrator | |
static const std::string | SYNCH_CURRENT_DATA_ALG = "SYNCH_CURRENT_DATA" |
static const std::string | SYNCH_NEW_DATA_ALG = "SYNCH_NEW_DATA" |
Class INSVCStaggeredNonConservativeHierarchyIntegrator provides a staggered-grid solver for the incompressible Navier-Stokes equations on an AMR grid hierarchy, with variable coefficients.
This class always uses a non-conservative discretization of the form of the momentum equation where for convective_difference_form = ADVECTIVE and for convective_difference_form = CONSERVATIVE.
In other words, this class will NEVER treat the left-hand side of the momentum equation in conservative form i.e. \frac{\partial \rho u}{\partial t} + \nabla \cdot (\rho u u)
In this class, both the density and viscosity are required to be cell centered quantities, which are then interpolated onto the required degrees of freedom (side-centers for rho and node(edge)-centers for mu in 2D(3D))
Note that this class is suitable for low density ratio flows. At high density ratios, the non-conservative form can lead to instabilities, and INSVCStaggeredConservativeHierarchyIntegrator should be used instead.
IBAMR::INSVCStaggeredNonConservativeHierarchyIntegrator::INSVCStaggeredNonConservativeHierarchyIntegrator | ( | std::string | object_name, |
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > | input_db, | ||
bool | register_for_restart = true |
||
) |
The constructor for class INSVCStaggeredNonConservativeHierarchyIntegrator sets some default values, reads in configuration information from input and restart databases, and registers the integrator object with the restart manager when requested.
|
default |
The destructor for class INSVCStaggeredNonConservativeHierarchyIntegrator unregisters the integrator object with the restart manager when the object is so registered.
|
overrideprotectedvirtual |
Set integer tags to "one" in cells where refinement of the given level should occur according to the magnitude of the fluid vorticity.
Reimplemented from IBAMR::INSVCStaggeredHierarchyIntegrator.
|
overridevirtual |
Initialize the variables, basic communications algorithms, solvers, and other data structures used by this time integrator object.
This method is called automatically by initializePatchHierarchy() prior to the construction of the patch hierarchy. It is also possible for users to make an explicit call to initializeHierarchyIntegrator() prior to calling initializePatchHierarchy().
Reimplemented from IBAMR::INSVCStaggeredHierarchyIntegrator.
|
overrideprotectedvirtual |
Initialize data on a new level after it is inserted into an AMR patch hierarchy by the gridding algorithm.
Reimplemented from IBAMR::INSVCStaggeredHierarchyIntegrator.
|
overridevirtual |
Initialize the AMR patch hierarchy and data defined on the hierarchy at the start of a computation. If the computation is begun from a restart file, the patch hierarchy and patch data are read from the hierarchy database. Otherwise, the patch hierarchy and patch data are initialized by the gridding algorithm associated with the integrator object.
The implementation of this function assumes that the hierarchy exists upon entry to the function, but that it contains no patch levels. On return from this function, the state of the integrator object will be such that it is possible to step through time via the advanceHierarchy() function.
Reimplemented from IBAMR::INSVCStaggeredHierarchyIntegrator.
|
overrideprotectedvirtual |
Synchronously advance each level in the hierarchy over the given time increment.
Implements IBTK::HierarchyIntegrator.
|
overridevirtual |
Clean up data following call(s) to integrateHierarchy().
Reimplemented from IBAMR::INSVCStaggeredHierarchyIntegrator.
|
overridevirtual |
Prepare to advance the data from current_time to new_time.
Reimplemented from IBAMR::INSVCStaggeredHierarchyIntegrator.
|
overrideprotectedvirtual |
Project the velocity field following a regridding operation.
Implements IBAMR::INSHierarchyIntegrator.
void IBAMR::INSVCStaggeredNonConservativeHierarchyIntegrator::removeNullSpace | ( | const SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, double > > & | sol_vec | ) |
Explicitly remove nullspace components from a solution vector.
|
overrideprotectedvirtual |
Reset cached hierarchy dependent data.
Reimplemented from IBAMR::INSVCStaggeredHierarchyIntegrator.
|
overrideprotectedvirtual |
Prepare variables for plotting.
Reimplemented from IBAMR::INSVCStaggeredHierarchyIntegrator.