MCPcopy Create free account
hub / github.com/IBAMR/IBAMR / CIBStaggeredStokesSolver

Method CIBStaggeredStokesSolver

src/IB/CIBStaggeredStokesSolver.cpp:73–99  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

71/////////////////////////////// PUBLIC ///////////////////////////////////////
72
73CIBStaggeredStokesSolver::CIBStaggeredStokesSolver(const std::string& object_name,
74 Pointer<Database> input_db,
75 Pointer<INSStaggeredHierarchyIntegrator> navier_stokes_integrator,
76 Pointer<CIBStrategy> cib_strategy,
77 const std::string& default_options_prefix)
78 : StaggeredStokesSolver(),
79 d_cib_strategy(cib_strategy, false),
80 d_num_rigid_parts(d_cib_strategy->getNumberOfRigidStructures())
81{
82 GeneralSolver::init(object_name, /*homogeneous bcs*/ false);
83
84 // Create the saddle-point solver for solving constraint problem.
85 d_sp_solver = new CIBSaddlePointSolver(
86 object_name, input_db, navier_stokes_integrator, d_cib_strategy, default_options_prefix);
87
88 // Create widened variables for IB operations.
89 Pointer<IBStrategy> ib_method_ops = d_cib_strategy;
90 const IntVector<NDIM> ghost_width = ib_method_ops->getMinimumGhostCellWidth();
91 VariableDatabase<NDIM>* var_db = VariableDatabase<NDIM>::getDatabase();
92 d_wide_u_var = new SideVariable<NDIM, double>(d_object_name + "::wide_u_var", 1);
93 d_wide_f_var = new SideVariable<NDIM, double>(d_object_name + "::wide_f_var", 1);
94 d_wide_ctx = var_db->getContext(object_name + "::wide_ctx");
95 d_wide_u_idx = var_db->registerVariableAndContext(d_wide_u_var, d_wide_ctx, ghost_width);
96 d_wide_f_idx = var_db->registerVariableAndContext(d_wide_f_var, d_wide_ctx, ghost_width);
97
98 return;
99} // CIBStaggeredStokesSolver
100
101CIBStaggeredStokesSolver::~CIBStaggeredStokesSolver()
102{

Callers

nothing calls this directly

Calls 2

initClass · 0.50

Tested by

no test coverage detected