www.mooseframework.org
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
DM_Moose Struct Reference

Classes

struct  SplitInfo
 

Public Types

typedef std::pair< std::string, std::string > ContactName
 
typedef std::pair< BoundaryID, BoundaryIDContactID
 

Public Member Functions

void checkChildSize (DM child, PetscInt child_size, const std::string &child_name)
 Check whether the size of the child matches the size we expect. More...
 

Public Attributes

NonlinearSystemBase_nl
 
DM_Moose_parent = nullptr
 
std::set< std::string > * _vars
 
std::map< std::string, unsigned int > * _var_ids
 
std::map< unsigned int, std::string > * _var_names
 
bool _all_vars
 
std::set< std::string > * _blocks
 
std::map< std::string, subdomain_id_type > * _block_ids
 
std::map< unsigned int, std::string > * _block_names
 
bool _all_blocks
 
std::set< std::string > * _sides
 
std::map< BoundaryID, std::string > * _side_names
 
std::map< std::string, BoundaryID > * _side_ids
 
std::set< std::string > * _unsides
 
std::map< std::string, BoundaryID > * _unside_ids
 
std::map< BoundaryID, std::string > * _unside_names
 
std::set< std::string > * _unside_by_var
 
std::set< std::pair< BoundaryID, unsigned int > > * _unside_by_var_set
 
bool _nosides
 
bool _nounsides
 
bool _nounside_by_var
 
std::set< ContactName > * _contacts
 
std::map< ContactID, ContactName > * _contact_names
 
std::set< ContactName > * _uncontacts
 
std::map< ContactID, ContactName > * _uncontact_names
 
std::map< ContactName, PetscBool > * _contact_displaced
 
std::map< ContactName, PetscBool > * _uncontact_displaced
 
bool _nocontacts
 
bool _nouncontacts
 
bool _include_all_contact_nodes
 
std::multimap< std::string, unsigned int > * _splitlocs
 
std::map< std::string, SplitInfo > * _splits
 
IS _embedding
 
PetscBool _print_embedding
 
std::string * _name
 The name of this DM. More...
 

Detailed Description

Definition at line 51 of file PetscDMMoose.C.

Member Typedef Documentation

◆ ContactID

Definition at line 75 of file PetscDMMoose.C.

◆ ContactName

typedef std::pair<std::string, std::string> DM_Moose::ContactName

Definition at line 74 of file PetscDMMoose.C.

Member Function Documentation

◆ checkChildSize()

void DM_Moose::checkChildSize ( DM  child,
PetscInt  child_size,
const std::string &  child_name 
)

Check whether the size of the child matches the size we expect.

Definition at line 110 of file PetscDMMoose.C.

Referenced by DMCreateFieldDecomposition_Moose().

111 {
112  for (const auto & split : *_splits)
113  if (split.second._dm == child)
114  {
115  mooseAssert(split.first == child_name, "These should match");
116  PetscInt parent_expected_size;
117  auto ierr = ISGetLocalSize(split.second._rembedding, &parent_expected_size);
118  if (ierr)
119  mooseError("Unable to get size");
120  checkSize(child_name, child_size, parent_expected_size);
121  return;
122  }
123 
124  mooseError("No child DM match");
125 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:299
void checkSize(const std::string &split_name, const I1 split_size, const I2 size_expected_by_parent)
Definition: PetscDMMoose.C:37
ierr
std::map< std::string, SplitInfo > * _splits
Definition: PetscDMMoose.C:95
tbb::split split

Member Data Documentation

◆ _all_blocks

bool DM_Moose::_all_blocks

Definition at line 62 of file PetscDMMoose.C.

Referenced by DMMooseGetEmbedding_Private(), DMSetUp_Moose(), and DMSetUp_Moose_Pre().

◆ _all_vars

bool DM_Moose::_all_vars

Definition at line 58 of file PetscDMMoose.C.

Referenced by DMMooseGetEmbedding_Private(), DMSetUp_Moose(), and DMSetUp_Moose_Pre().

◆ _block_ids

std::map<std::string, subdomain_id_type>* DM_Moose::_block_ids

◆ _block_names

std::map<unsigned int, std::string>* DM_Moose::_block_names

Definition at line 61 of file PetscDMMoose.C.

Referenced by DMCreate_Moose(), DMDestroy_Moose(), and DMSetUp_Moose_Pre().

◆ _blocks

std::set<std::string>* DM_Moose::_blocks

Definition at line 59 of file PetscDMMoose.C.

Referenced by DMDestroy_Moose(), DMMooseSetBlocks(), and DMSetUp_Moose_Pre().

◆ _contact_displaced

std::map<ContactName, PetscBool>* DM_Moose::_contact_displaced

◆ _contact_names

std::map<ContactID, ContactName>* DM_Moose::_contact_names

◆ _contacts

std::set<ContactName>* DM_Moose::_contacts

Definition at line 76 of file PetscDMMoose.C.

Referenced by DMDestroy_Moose(), DMMooseSetContacts(), and DMSetUp_Moose_Pre().

◆ _embedding

IS DM_Moose::_embedding

◆ _include_all_contact_nodes

bool DM_Moose::_include_all_contact_nodes

Definition at line 84 of file PetscDMMoose.C.

Referenced by DMMooseGetEmbedding_Private(), and DMSetFromOptions_Moose().

◆ _name

std::string* DM_Moose::_name

The name of this DM.

Definition at line 101 of file PetscDMMoose.C.

Referenced by DMCreate_Moose(), DMCreateFieldDecomposition_Moose(), DMDestroy_Moose(), and DMMooseSetName().

◆ _nl

NonlinearSystemBase* DM_Moose::_nl

◆ _nocontacts

bool DM_Moose::_nocontacts

Definition at line 82 of file PetscDMMoose.C.

Referenced by DMMooseGetEmbedding_Private(), DMSetUp_Moose(), and DMSetUp_Moose_Pre().

◆ _nosides

bool DM_Moose::_nosides

Definition at line 71 of file PetscDMMoose.C.

Referenced by DMMooseGetEmbedding_Private(), DMSetUp_Moose(), and DMSetUp_Moose_Pre().

◆ _nouncontacts

bool DM_Moose::_nouncontacts

Definition at line 83 of file PetscDMMoose.C.

Referenced by DMMooseGetEmbedding_Private(), DMSetUp_Moose(), and DMSetUp_Moose_Pre().

◆ _nounside_by_var

bool DM_Moose::_nounside_by_var

Definition at line 73 of file PetscDMMoose.C.

Referenced by DMMooseGetEmbedding_Private(), and DMSetUp_Moose_Pre().

◆ _nounsides

bool DM_Moose::_nounsides

Definition at line 72 of file PetscDMMoose.C.

Referenced by DMMooseGetEmbedding_Private(), DMSetUp_Moose(), and DMSetUp_Moose_Pre().

◆ _parent

DM_Moose* DM_Moose::_parent = nullptr

Definition at line 54 of file PetscDMMoose.C.

Referenced by DMCreateFieldDecomposition_Moose(), and DMMooseSetParentDM().

◆ _print_embedding

PetscBool DM_Moose::_print_embedding

Definition at line 98 of file PetscDMMoose.C.

Referenced by DMCreate_Moose(), DMSetFromOptions_Moose(), and DMSetUp_Moose().

◆ _side_ids

std::map<std::string, BoundaryID>* DM_Moose::_side_ids

◆ _side_names

std::map<BoundaryID, std::string>* DM_Moose::_side_names

◆ _sides

std::set<std::string>* DM_Moose::_sides

Definition at line 63 of file PetscDMMoose.C.

Referenced by DMDestroy_Moose(), DMMooseSetSides(), and DMSetUp_Moose_Pre().

◆ _splitlocs

std::multimap<std::string, unsigned int>* DM_Moose::_splitlocs

◆ _splits

std::map<std::string, SplitInfo>* DM_Moose::_splits

◆ _uncontact_displaced

std::map<ContactName, PetscBool>* DM_Moose::_uncontact_displaced

◆ _uncontact_names

std::map<ContactID, ContactName>* DM_Moose::_uncontact_names

◆ _uncontacts

std::set<ContactName>* DM_Moose::_uncontacts

Definition at line 78 of file PetscDMMoose.C.

Referenced by DMDestroy_Moose(), DMMooseSetUnContacts(), and DMSetUp_Moose_Pre().

◆ _unside_by_var

std::set<std::string>* DM_Moose::_unside_by_var

Definition at line 69 of file PetscDMMoose.C.

Referenced by DMDestroy_Moose(), DMMooseSetUnSideByVar(), and DMSetUp_Moose_Pre().

◆ _unside_by_var_set

std::set<std::pair<BoundaryID, unsigned int> >* DM_Moose::_unside_by_var_set

◆ _unside_ids

std::map<std::string, BoundaryID>* DM_Moose::_unside_ids

◆ _unside_names

std::map<BoundaryID, std::string>* DM_Moose::_unside_names

◆ _unsides

std::set<std::string>* DM_Moose::_unsides

Definition at line 66 of file PetscDMMoose.C.

Referenced by DMDestroy_Moose(), DMMooseSetUnSides(), and DMSetUp_Moose_Pre().

◆ _var_ids

std::map<std::string, unsigned int>* DM_Moose::_var_ids

◆ _var_names

std::map<unsigned int, std::string>* DM_Moose::_var_names

Definition at line 57 of file PetscDMMoose.C.

Referenced by DMCreate_Moose(), DMDestroy_Moose(), and DMSetUp_Moose_Pre().

◆ _vars

std::set<std::string>* DM_Moose::_vars

Definition at line 55 of file PetscDMMoose.C.

Referenced by DMDestroy_Moose(), DMMooseSetVariables(), and DMSetUp_Moose_Pre().


The documentation for this struct was generated from the following file: