INSIntermediateVelocityBcCoef::INSIntermediateVelocityBcCoef(const int comp_idx, const std::vector<RobinBcCoefStrategy<NDIM>*>& bc_coefs, const bool homogeneous_bc) : d_comp_idx(comp_idx), d_bc_coefs(NDIM, static_cast<RobinBcCoefStrategy<NDIM>*>(NULL)) { setPhysicalBcCoefs(bc_coefs); setHomogeneousBc(homogeneous_bc); return; } // INSIntermediateVelocityBcCoef
CartCellRobinPhysBdryOp::CartCellRobinPhysBdryOp(const ComponentSelector& patch_data_indices, RobinBcCoefStrategy<NDIM>* const bc_coef, const bool homogeneous_bc) : RobinPhysBdryPatchStrategy() { setPatchDataIndices(patch_data_indices); setPhysicalBcCoef(bc_coef); setHomogeneousBc(homogeneous_bc); return; } // CartCellRobinPhysBdryOp
CartCellRobinPhysBdryOp::CartCellRobinPhysBdryOp(const int patch_data_index, RobinBcCoefStrategy<NDIM>* const bc_coef, const bool homogeneous_bc) : RobinPhysBdryPatchStrategy() { setPatchDataIndex(patch_data_index); setPhysicalBcCoef(bc_coef); setHomogeneousBc(homogeneous_bc); return; } // CartCellRobinPhysBdryOp
CartCellRobinPhysBdryOp::CartCellRobinPhysBdryOp( const std::set<int>& patch_data_indices, const std::vector<RobinBcCoefStrategy<NDIM>*>& bc_coefs, const bool homogeneous_bc) : RobinPhysBdryPatchStrategy() { setPatchDataIndices(patch_data_indices); setPhysicalBcCoefs(bc_coefs); setHomogeneousBc(homogeneous_bc); return; } // CartCellRobinPhysBdryOp
CCLaplaceOperator::CCLaplaceOperator( const std::string& object_name, const PoissonSpecifications& poisson_spec, const std::vector<RobinBcCoefStrategy<NDIM>*>& bc_coefs, const bool homogeneous_bc) : LinearOperator(true), d_object_name(object_name), d_is_initialized(false), d_ncomp(0), d_apply_time(0.0), d_fill_pattern(NULL), d_transaction_comps(), d_hier_bdry_fill(NULL), d_no_fill(NULL), d_x(NULL), d_b(NULL), d_poisson_spec(d_object_name+"::Poisson spec"), d_default_bc_coef(new LocationIndexRobinBcCoefs<NDIM>( d_object_name+"::default_bc_coef", Pointer<Database>(NULL))), d_bc_coefs(), d_homogeneous_bc(false), d_correcting_rhs(false), d_hier_cc_data_ops(), d_hier_math_ops(), d_hier_math_ops_external(false), d_hierarchy(), d_coarsest_ln(-1), d_finest_ln(-1) { // Initialize the Poisson specifications. setPoissonSpecifications(poisson_spec); // Setup a default boundary condition object that specifies homogeneous // Dirichlet boundary conditions. for (unsigned int d = 0; d < NDIM; ++d) { d_default_bc_coef->setBoundaryValue(2*d ,0.0); d_default_bc_coef->setBoundaryValue(2*d+1,0.0); } // Initialize the boundary conditions objects. setHomogeneousBc(homogeneous_bc); setPhysicalBcCoefs(bc_coefs); // Setup Timers. IBTK_DO_ONCE( t_apply = TimerManager::getManager()->getTimer("IBTK::CCLaplaceOperator::apply()"); t_initialize_operator_state = TimerManager::getManager()->getTimer("IBTK::CCLaplaceOperator::initializeOperatorState()"); t_deallocate_operator_state = TimerManager::getManager()->getTimer("IBTK::CCLaplaceOperator::deallocateOperatorState()"); );
INSStaggeredPressureBcCoef::INSStaggeredPressureBcCoef( const INSStaggeredHierarchyIntegrator* fluid_solver, const std::vector<RobinBcCoefStrategy<NDIM>*>& bc_coefs, const TractionBcType traction_bc_type, const bool homogeneous_bc) : d_fluid_solver(fluid_solver), d_bc_coefs(NDIM, static_cast<RobinBcCoefStrategy<NDIM>*>(NULL)) { setStokesSpecifications(d_fluid_solver->getStokesSpecifications()); setPhysicalBcCoefs(bc_coefs); setTractionBcType(traction_bc_type); setHomogeneousBc(homogeneous_bc); return; } // INSStaggeredPressureBcCoef
INSCollocatedVelocityBcCoef::INSCollocatedVelocityBcCoef(const unsigned int comp_idx, const INSCollocatedHierarchyIntegrator* fluid_solver, const std::vector<RobinBcCoefStrategy<NDIM>*>& bc_coefs, const TractionBcType traction_bc_type, const bool homogeneous_bc) : d_comp_idx(comp_idx), d_fluid_solver(fluid_solver), d_bc_coefs(NDIM, static_cast<RobinBcCoefStrategy<NDIM>*>(NULL)) { setStokesSpecifications(d_fluid_solver->getStokesSpecifications()); setPhysicalBcCoefs(bc_coefs); setTractionBcType(traction_bc_type); setHomogeneousBc(homogeneous_bc); return; } // INSCollocatedVelocityBcCoef