petsc_dm_nonlinear_solver.C File Reference

Go to the source code of this file.

Namespaces

 libMesh
 

Constant Groups

 libMesh
 

Typedefs

typedef int PetscErrorCode
 
typedef int PetscInt
 

Functions

EXTERN_C_BEGIN PetscErrorCode DMCreate_libMesh (DM)
 
void libMesh::PetscDMRegister ()
 

Variables

PetscBool libMesh::PetscDMRegistered = PETSC_FALSE
 

Typedef Documentation

typedef int PetscErrorCode

Definition at line 37 of file petsc_dm_nonlinear_solver.C.

typedef int PetscInt

Definition at line 38 of file petsc_dm_nonlinear_solver.C.

Function Documentation

EXTERN_C_BEGIN PetscErrorCode DMCreate_libMesh ( DM  )

Definition at line 1107 of file petscdmlibmesh.C.

References DM_libMesh::blockids, DM_libMesh::blocknames, CHKERRQ(), DM_libMesh::decomposition, DM_libMesh::decomposition_type, dlm, DMCreateDomainDecomposition_libMesh(), DMCreateDomainDecompositionDM_libMesh(), DMCreateFieldDecomposition_libMesh(), DMCreateFieldDecompositionDM_libMesh(), DMCreateGlobalVector_libMesh(), DMCreateMatrix_libMesh(), DMDestroy_libMesh(), DMSetUp_libMesh(), DMView_libMesh(), libMesh::ierr, PetscFunctionBegin, PetscFunctionReturn(), DM_libMesh::varids, and DM_libMesh::varnames.

Referenced by libMesh::PetscDMRegister().

1108 {
1110  DM_libMesh *dlm;
1111 
1113  PetscValidHeaderSpecific(dm,DM_CLASSID,1);
1114 #if PETSC_RELEASE_LESS_THAN(3,5,0)
1115  ierr = PetscNewLog(dm,DM_libMesh,&dlm);CHKERRQ(ierr);
1116 #else
1117  ierr = PetscNewLog(dm,&dlm);CHKERRQ(ierr);
1118 #endif
1119  dm->data = dlm;
1120 
1121  dlm->varids = new(std::map<std::string, unsigned int>);
1122  dlm->blockids = new(std::map<std::string, unsigned int>);
1123  dlm->varnames = new(std::map<unsigned int, std::string>);
1124  dlm->blocknames = new(std::map<unsigned int, std::string>);
1125  dlm->decomposition = PETSC_NULL;
1126  dlm->decomposition_type = DMLIBMESH_NO_DECOMPOSITION;
1127 
1128  dm->ops->createglobalvector = DMCreateGlobalVector_libMesh;
1129  dm->ops->createlocalvector = 0; // DMCreateLocalVector_libMesh;
1130  dm->ops->getcoloring = 0; // DMGetColoring_libMesh;
1131  dm->ops->creatematrix = DMCreateMatrix_libMesh;
1132  dm->ops->createinterpolation= 0; // DMCreateInterpolation_libMesh;
1133 
1134  dm->ops->refine = 0; // DMRefine_libMesh;
1135  dm->ops->coarsen = 0; // DMCoarsen_libMesh;
1136  dm->ops->getinjection = 0; // DMGetInjection_libMesh;
1137  dm->ops->getaggregates = 0; // DMGetAggregates_libMesh;
1138 
1139 #if PETSC_RELEASE_LESS_THAN(3,3,1)
1140  dm->ops->createfielddecompositiondm = DMCreateFieldDecompositionDM_libMesh;
1141  dm->ops->createdomaindecompositiondm = DMCreateDomainDecompositionDM_libMesh;
1142 #endif
1143  dm->ops->createfielddecomposition = DMCreateFieldDecomposition_libMesh;
1144  dm->ops->createdomaindecomposition = DMCreateDomainDecomposition_libMesh;
1145 
1146  dm->ops->destroy = DMDestroy_libMesh;
1147  dm->ops->view = DMView_libMesh;
1148  dm->ops->setfromoptions = 0; // DMSetFromOptions_libMesh;
1149  dm->ops->setup = DMSetUp_libMesh;
1150 
1152 }

Site Created By: libMesh Developers
Last modified: February 07 2014 16:57:07 UTC

Hosted By:
SourceForge.net Logo