https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Namespaces | Functions
NonlinearSystemBase.C File Reference

Go to the source code of this file.

Namespaces

namespace  EXTERN_C_END
 

Functions

EXTERN_C_BEGIN PetscErrorCode DMCreate_Moose (DM)
 
template<typename T >
void EXTERN_C_END::appendFVSetupObjects (TheWarehouse &warehouse, const std::string &system_name, const unsigned int system_number, const THREAD_ID tid, std::vector< SetupInterface * > &results)
 

Function Documentation

◆ DMCreate_Moose()

EXTERN_C_BEGIN PetscErrorCode DMCreate_Moose ( DM  dm)
extern

Definition at line 1905 of file PetscDMMoose.C.

1906{
1907 DM_Moose * dmm;
1908
1910 PetscValidHeaderSpecific(dm, DM_CLASSID, 1);
1911#if PETSC_RELEASE_LESS_THAN(3, 18, 0)
1912 LibmeshPetscCallQ(PetscNewLog(dm, &dmm));
1913#else // PetscNewLog was deprecated
1914 LibmeshPetscCallQ(PetscNew(&dmm));
1915#endif
1916 dm->data = dmm;
1917
1918 dmm->_name = new (std::string);
1919 dmm->_var_ids = new (std::map<std::string, unsigned int>);
1920 dmm->_block_ids = new (std::map<std::string, subdomain_id_type>);
1921 dmm->_var_names = new (std::map<unsigned int, std::string>);
1922 dmm->_block_names = new (std::map<unsigned int, std::string>);
1923 dmm->_side_ids = new (std::map<std::string, BoundaryID>);
1924 dmm->_side_names = new (std::map<BoundaryID, std::string>);
1925 dmm->_unside_ids = new (std::map<std::string, BoundaryID>);
1926 dmm->_unside_names = new (std::map<BoundaryID, std::string>);
1927 dmm->_unside_by_var_set = new (std::set<std::pair<BoundaryID, unsigned int>>);
1928 dmm->_contact_names = new (std::map<DM_Moose::ContactID, DM_Moose::ContactName>);
1929 dmm->_uncontact_names = new (std::map<DM_Moose::ContactID, DM_Moose::ContactName>);
1930 dmm->_contact_displaced = new (std::map<DM_Moose::ContactName, PetscBool>);
1931 dmm->_uncontact_displaced = new (std::map<DM_Moose::ContactName, PetscBool>);
1932
1933 dmm->_splits = new (std::map<std::string, DM_Moose::SplitInfo>);
1934
1935 dmm->_print_embedding = PETSC_FALSE;
1936
1937 dm->ops->createglobalvector = DMCreateGlobalVector_Moose;
1938 dm->ops->createlocalvector = 0; // DMCreateLocalVector_Moose;
1939 dm->ops->getcoloring = 0; // DMGetColoring_Moose;
1940 dm->ops->creatematrix = DMCreateMatrix_Moose;
1941 dm->ops->createinterpolation = 0; // DMCreateInterpolation_Moose;
1942
1943 dm->ops->refine = 0; // DMRefine_Moose;
1944 dm->ops->coarsen = 0; // DMCoarsen_Moose;
1945#if PETSC_RELEASE_LESS_THAN(3, 12, 0)
1946 dm->ops->getinjection = 0; // DMGetInjection_Moose;
1947 dm->ops->getaggregates = 0; // DMGetAggregates_Moose;
1948#else
1949 dm->ops->createinjection = 0;
1950#endif
1951
1952 dm->ops->createfielddecomposition = DMCreateFieldDecomposition_Moose;
1953 dm->ops->createdomaindecomposition = DMCreateDomainDecomposition_Moose;
1954
1955 dm->ops->destroy = DMDestroy_Moose;
1956 dm->ops->view = DMView_Moose;
1957 dm->ops->setfromoptions = DMSetFromOptions_Moose;
1958 dm->ops->setup = DMSetUp_Moose;
1959 PetscFunctionReturn(PETSC_SUCCESS);
1960}
PetscErrorCode PetscOptionItems *PetscErrorCode DM dm
static PetscErrorCode DMCreateGlobalVector_Moose(DM dm, Vec *x)
static PetscErrorCode DMCreateDomainDecomposition_Moose(DM dm, PetscInt *len, char ***namelist, IS **innerislist, IS **outerislist, DM **dmlist)
static PetscErrorCode DMView_Moose(DM dm, PetscViewer viewer)
LibmeshPetscCallQ(DMMooseValidityCheck(dm))
PetscFunctionReturn(PETSC_SUCCESS)
static PetscErrorCode DMDestroy_Moose(DM dm)
static PetscErrorCode DMSetUp_Moose(DM dm)
PetscFunctionBegin
static PetscErrorCode DMCreateMatrix_Moose(DM dm, Mat *A)
static PetscErrorCode DMCreateFieldDecomposition_Moose(DM dm, PetscInt *len, char ***namelist, IS **islist, DM **dmlist)
PetscErrorCode DMSetFromOptions_Moose(DM dm, PetscOptionItems) PetscErrorCode DMSetFromOptions_Moose(DM dm
std::string * _name
The name of this DM.
std::map< BoundaryID, std::string > * _side_names
std::map< std::string, BoundaryID > * _side_ids
std::map< std::string, BoundaryID > * _unside_ids
std::map< unsigned int, std::string > * _var_names
std::map< BoundaryID, std::string > * _unside_names
PetscBool _print_embedding
std::map< ContactID, ContactName > * _uncontact_names
std::set< std::pair< BoundaryID, unsigned int > > * _unside_by_var_set
std::map< std::string, SplitInfo > * _splits
std::map< std::string, subdomain_id_type > * _block_ids
std::map< unsigned int, std::string > * _block_names
std::map< ContactName, PetscBool > * _uncontact_displaced
std::map< std::string, unsigned int > * _var_ids
std::map< ContactName, PetscBool > * _contact_displaced
std::map< ContactID, ContactName > * _contact_names

Referenced by DMMooseRegisterAll().