petsc_dm_nonlinear_solver.C File Reference

Go to the source code of this file.

Namespaces

namespace  libMesh

Functions

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

Variables

PetscBool libMesh::PetscDMRegistered = PETSC_FALSE

Function Documentation

EXTERN_C_BEGIN PetscErrorCode DMCreate_libMesh ( DM   ) 

Definition at line 1059 of file petscdmlibmesh.C.

References DM_libMesh::blockids, DM_libMesh::blocknames, DM_libMesh::decomposition, DM_libMesh::decomposition_type, DMCreateDomainDecomposition_libMesh(), DMCreateDomainDecompositionDM_libMesh(), DMCreateFieldDecomposition_libMesh(), DMCreateFieldDecompositionDM_libMesh(), DMCreateGlobalVector_libMesh(), DMCreateMatrix_libMesh(), DMDestroy_libMesh(), DMSetUp_libMesh(), DMView_libMesh(), PetscErrorCode, DM_libMesh::varids, and DM_libMesh::varnames.

01060 {
01061   PetscErrorCode ierr;
01062   DM_libMesh     *dlm;
01063 
01064   PetscFunctionBegin;
01065   PetscValidHeaderSpecific(dm,DM_CLASSID,1);
01066   ierr = PetscNewLog(dm,DM_libMesh,&dlm);CHKERRQ(ierr);
01067   dm->data = dlm;
01068 
01069   dlm->varids     = new(std::map<std::string, unsigned int>);
01070   dlm->blockids   = new(std::map<std::string, unsigned int>);
01071   dlm->varnames   = new(std::map<unsigned int, std::string>);
01072   dlm->blocknames = new(std::map<unsigned int, std::string>);
01073   dlm->decomposition   = PETSC_NULL;
01074   dlm->decomposition_type  = DMLIBMESH_NO_DECOMPOSITION;
01075 
01076   dm->ops->createglobalvector = DMCreateGlobalVector_libMesh;
01077   dm->ops->createlocalvector  = 0; // DMCreateLocalVector_libMesh;
01078   dm->ops->getcoloring        = 0; // DMGetColoring_libMesh;
01079   dm->ops->creatematrix       = DMCreateMatrix_libMesh;
01080   dm->ops->createinterpolation= 0; // DMCreateInterpolation_libMesh;
01081 
01082   dm->ops->refine             = 0; // DMRefine_libMesh;
01083   dm->ops->coarsen            = 0; // DMCoarsen_libMesh;
01084   dm->ops->getinjection       = 0; // DMGetInjection_libMesh;
01085   dm->ops->getaggregates      = 0; // DMGetAggregates_libMesh;
01086   
01087   dm->ops->createfielddecompositiondm  = DMCreateFieldDecompositionDM_libMesh;
01088   dm->ops->createfielddecomposition    = DMCreateFieldDecomposition_libMesh;
01089   dm->ops->createdomaindecompositiondm = DMCreateDomainDecompositionDM_libMesh;
01090   dm->ops->createdomaindecomposition   = DMCreateDomainDecomposition_libMesh;
01091 
01092   dm->ops->destroy            = DMDestroy_libMesh;
01093   dm->ops->view               = DMView_libMesh;
01094   dm->ops->setfromoptions     = 0; // DMSetFromOptions_libMesh;
01095   dm->ops->setup              = DMSetUp_libMesh;
01096 
01097   PetscFunctionReturn(0);
01098 }


Site Created By: libMesh Developers
Last modified: February 05 2013 19:54:49 UTC

Hosted By:
SourceForge.net Logo