www.mooseframework.org
Functions
NonlinearSystemBase.C File Reference

Go to the source code of this file.

Functions

EXTERN_C_BEGIN PetscErrorCode DMCreate_Moose (DM)
 

Function Documentation

EXTERN_C_BEGIN PetscErrorCode DMCreate_Moose ( DM  )

Definition at line 2495 of file PetscDMMoose.C.

Referenced by DMMooseRegisterAll().

2496 {
2497  PetscErrorCode ierr;
2498  DM_Moose * dmm;
2499 
2501  PetscValidHeaderSpecific(dm, DM_CLASSID, 1);
2502 #if PETSC_RELEASE_LESS_THAN(3, 5, 0)
2503  ierr = PetscNewLog(dm, DM_Moose, &dmm);
2504  CHKERRQ(ierr);
2505 #else
2506  ierr = PetscNewLog(dm, &dmm);
2507  CHKERRQ(ierr);
2508 #endif
2509  dm->data = dmm;
2510 
2511  dmm->_var_ids = new (std::map<std::string, unsigned int>);
2512  dmm->_block_ids = new (std::map<std::string, subdomain_id_type>);
2513  dmm->_var_names = new (std::map<unsigned int, std::string>);
2514  dmm->_block_names = new (std::map<unsigned int, std::string>);
2515  dmm->_side_ids = new (std::map<std::string, BoundaryID>);
2516  dmm->_side_names = new (std::map<BoundaryID, std::string>);
2517  dmm->_unside_ids = new (std::map<std::string, BoundaryID>);
2518  dmm->_unside_names = new (std::map<BoundaryID, std::string>);
2519  dmm->_contact_names = new (std::map<DM_Moose::ContactID, DM_Moose::ContactName>);
2520  dmm->_uncontact_names = new (std::map<DM_Moose::ContactID, DM_Moose::ContactName>);
2521  dmm->_contact_displaced = new (std::map<DM_Moose::ContactName, PetscBool>);
2522  dmm->_uncontact_displaced = new (std::map<DM_Moose::ContactName, PetscBool>);
2523 
2524  dmm->_splits = new (std::map<std::string, DM_Moose::SplitInfo>);
2525 
2526  dmm->_print_embedding = PETSC_FALSE;
2527 
2528  dm->ops->createglobalvector = DMCreateGlobalVector_Moose;
2529  dm->ops->createlocalvector = 0; // DMCreateLocalVector_Moose;
2530  dm->ops->getcoloring = 0; // DMGetColoring_Moose;
2531  dm->ops->creatematrix = DMCreateMatrix_Moose;
2532  dm->ops->createinterpolation = 0; // DMCreateInterpolation_Moose;
2533 
2534  dm->ops->refine = 0; // DMRefine_Moose;
2535  dm->ops->coarsen = 0; // DMCoarsen_Moose;
2536  dm->ops->getinjection = 0; // DMGetInjection_Moose;
2537  dm->ops->getaggregates = 0; // DMGetAggregates_Moose;
2538 
2539 #if PETSC_VERSION_LT(3, 4, 0)
2540  dm->ops->createfielddecompositiondm = DMCreateFieldDecompositionDM_Moose;
2541  dm->ops->createdomaindecompositiondm = DMCreateDomainDecompositionDM_Moose;
2542 #endif
2543  dm->ops->createfielddecomposition = DMCreateFieldDecomposition_Moose;
2544  dm->ops->createdomaindecomposition = DMCreateDomainDecomposition_Moose;
2545 
2546  dm->ops->destroy = DMDestroy_Moose;
2547  dm->ops->view = DMView_Moose;
2548  dm->ops->setfromoptions = DMSetFromOptions_Moose;
2549  dm->ops->setup = DMSetUp_Moose;
2551 }
static PetscErrorCode DMSetUp_Moose(DM dm)
PetscErrorCode DMSetFromOptions_Moose(PetscOptionItems *, DM dm) PetscErrorCode DMSetFromOptions_Moose(PetscOptions *
DM_Moose * dmm
std::map< BoundaryID, std::string > * _side_names
Definition: PetscDMMoose.C:60
std::map< ContactName, PetscBool > * _contact_displaced
Definition: PetscDMMoose.C:73
std::map< std::string, BoundaryID > * _side_ids
Definition: PetscDMMoose.C:61
PetscFunctionBegin
std::map< ContactName, PetscBool > * _uncontact_displaced
Definition: PetscDMMoose.C:74
PetscErrorCode DMCreateDomainDecompositionDM_Moose(DM dm, const char *, DM *ddm)
std::map< std::string, unsigned int > * _var_ids
Definition: PetscDMMoose.C:52
std::map< unsigned int, std::string > * _var_names
Definition: PetscDMMoose.C:53
static PetscErrorCode DMView_Moose(DM dm, PetscViewer viewer)
std::map< ContactID, ContactName > * _uncontact_names
Definition: PetscDMMoose.C:72
std::map< std::string, SplitInfo > * _splits
Definition: PetscDMMoose.C:88
static PetscErrorCode DMCreateFieldDecomposition_Moose(DM dm, PetscInt *len, char ***namelist, IS **islist, DM **dmlist)
Definition: PetscDMMoose.C:987
PetscFunctionReturn(0)
CHKERRQ(ierr)
static PetscErrorCode DMCreateMatrix_Moose(DM dm, const MatType type, Mat *A) static PetscErrorCode DMCreateMatrix_Moose(DM dm
std::map< std::string, BoundaryID > * _unside_ids
Definition: PetscDMMoose.C:63
PetscBool _print_embedding
Definition: PetscDMMoose.C:90
std::map< std::string, subdomain_id_type > * _block_ids
Definition: PetscDMMoose.C:56
ierr
PetscErrorCode DMCreateFieldDecompositionDM_Moose(DM dm, const char *, DM *ddm)
static PetscErrorCode DMCreateGlobalVector_Moose(DM dm, Vec *x)
std::map< ContactID, ContactName > * _contact_names
Definition: PetscDMMoose.C:70
static PetscErrorCode DMDestroy_Moose(DM dm)
static PetscErrorCode DMCreateDomainDecomposition_Moose(DM dm, PetscInt *len, char ***namelist, IS **innerislist, IS **outerislist, DM **dmlist)
std::map< BoundaryID, std::string > * _unside_names
Definition: PetscDMMoose.C:64
std::map< unsigned int, std::string > * _block_names
Definition: PetscDMMoose.C:57