2318 PetscErrorCode
ierr;
2322 PetscValidHeaderSpecific(dm, DM_CLASSID, 1);
2323 #if PETSC_RELEASE_LESS_THAN(3, 18, 0) 2324 ierr = PetscNewLog(dm, &dmm);
2326 #else // PetscNewLog was deprecated 2327 ierr = PetscNew(&dmm);
2332 dmm->
_name =
new (std::string);
2333 dmm->
_var_ids =
new (std::map<std::string, unsigned int>);
2334 dmm->
_block_ids =
new (std::map<std::string, subdomain_id_type>);
2335 dmm->
_var_names =
new (std::map<unsigned int, std::string>);
2336 dmm->
_block_names =
new (std::map<unsigned int, std::string>);
2337 dmm->
_side_ids =
new (std::map<std::string, BoundaryID>);
2338 dmm->
_side_names =
new (std::map<BoundaryID, std::string>);
2339 dmm->
_unside_ids =
new (std::map<std::string, BoundaryID>);
2340 dmm->
_unside_names =
new (std::map<BoundaryID, std::string>);
2342 dmm->
_contact_names =
new (std::map<DM_Moose::ContactID, DM_Moose::ContactName>);
2343 dmm->
_uncontact_names =
new (std::map<DM_Moose::ContactID, DM_Moose::ContactName>);
2347 dmm->
_splits =
new (std::map<std::string, DM_Moose::SplitInfo>);
2352 dm->ops->createlocalvector = 0;
2353 dm->ops->getcoloring = 0;
2355 dm->ops->createinterpolation = 0;
2357 dm->ops->refine = 0;
2358 dm->ops->coarsen = 0;
2359 #if PETSC_RELEASE_LESS_THAN(3, 12, 0) 2360 dm->ops->getinjection = 0;
2361 dm->ops->getaggregates = 0;
2363 dm->ops->createinjection = 0;
2373 PetscFunctionReturn(0);
static PetscErrorCode DMSetUp_Moose(DM dm)
std::set< std::pair< BoundaryID, unsigned int > > * _unside_by_var_set
std::map< BoundaryID, std::string > * _side_names
std::map< ContactName, PetscBool > * _contact_displaced
std::map< std::string, BoundaryID > * _side_ids
std::string * _name
The name of this DM.
std::map< ContactName, PetscBool > * _uncontact_displaced
std::map< std::string, unsigned int > * _var_ids
std::map< unsigned int, std::string > * _var_names
static PetscErrorCode DMView_Moose(DM dm, PetscViewer viewer)
std::map< ContactID, ContactName > * _uncontact_names
std::map< std::string, SplitInfo > * _splits
static PetscErrorCode DMCreateFieldDecomposition_Moose(DM dm, PetscInt *len, char ***namelist, IS **islist, DM **dmlist)
std::map< std::string, BoundaryID > * _unside_ids
PetscBool _print_embedding
PetscErrorCode DMSetFromOptions_Moose(DM dm, PetscOptionItems *) PetscErrorCode DMSetFromOptions_Moose(PetscOptionItems *
std::map< std::string, subdomain_id_type > * _block_ids
static PetscErrorCode DMCreateGlobalVector_Moose(DM dm, Vec *x)
std::map< ContactID, ContactName > * _contact_names
static PetscErrorCode DMDestroy_Moose(DM dm)
static PetscErrorCode DMCreateDomainDecomposition_Moose(DM dm, PetscInt *len, char ***namelist, IS **innerislist, IS **outerislist, DM **dmlist)
static PetscErrorCode DMCreateMatrix_Moose(DM dm, Mat *A)
std::map< BoundaryID, std::string > * _unside_names
std::map< unsigned int, std::string > * _block_names