#include <fem_mesh.h>
Public Member Functions | |
void | setFemMeshModify (femMeshModify *m) |
FEM_Mesh () | |
void | pup (PUP::er &p) |
~FEM_Mesh () | |
void | setSymList (const FEM_Sym_List &src) |
The symmetries that apply to this mesh:. | |
const FEM_Sym_List & | getSymList (void) const |
void | copyShape (const FEM_Mesh &src) |
Set up the "shape" of our fields-- the number of element types, the datatypes for user data, etc--based on this mesh. | |
femMeshModify * | getfmMM () |
FEM_Entity & | setCount (int elTypeOrMinusOne) |
const FEM_Entity & | getCount (int elTypeOrMinusOne) const |
FEM_Elem & | setElem (int elType) |
const FEM_Elem & | getElem (int elType) const |
int | chkET (int elType) const |
FEM_Entity * | lookup (int entity, const char *caller) |
Look up this FEM_Entity type in this mesh, or abort if it's not valid. | |
const FEM_Entity * | lookup (int entity, const char *caller) const |
bool | isSetting (void) const |
Set/get direction control:. | |
void | becomeSetting (void) |
void | becomeGetting (void) |
int | nElems () const |
int | nElems (int t) const |
Return the total number of elements before type t. | |
int | getGlobalElem (int elType, int elNo) const |
Return the "global" number of element elNo of type elType. | |
void | setAscendingGlobalno (void) |
Set our global numbers as 0...n-1 for nodes, elements, and sparse. | |
void | setAbsoluteGlobalno () |
The global numbers for elements runs across different types. | |
void | copyOldGlobalno (const FEM_Mesh &m) |
void | print (int idxBase) |
int | getEntities (int *entites) |
Extract a list of our entities:. | |
void | createNodeElemAdj () |
void | createNodeNodeAdj () |
void | createElemElemAdj () |
FEM_ElemAdj_Layer * | getElemAdjLayer (void) |
void | e2e_getAll (int e, int *neighborss, int etype=0) |
Place all of element e's adjacent elements in neighbors; assumes neighbors allocated to correct size. | |
int | e2e_getNbr (int e, short idx, int etype=0) |
Given id of element e, return the id of the idx-th adjacent element. | |
int | e2e_getIndex (int e, int nbr, int etype=0) |
Given id of element e and id of another element nbr, return i such that nbr is the i-th element adjacent to e. | |
void | e2e_setAll (int e, int *neighbors, int etype=0) |
Set the element adjacencies of element e to neighbors; assumes neighbors has the correct size. | |
void | e2e_setIndex (int e, short idx, int newElem, int etype=0) |
Set the idx-th element adjacent to e to be newElem. | |
void | e2e_replace (int e, int oldNbr, int newNbr, int etype=0) |
Find element oldNbr in e's adjacent elements and replace with newNbr. | |
void | e2e_removeAll (int e, int etype=0) |
Remove all neighboring elements in adjacency. | |
void | e2n_getAll (int e, int *adjnodes, int etype=0) |
Place all of element e's adjacent nodes in adjnodes; assumes adjnodes allocated to correct size. | |
int | e2n_getNode (int e, short idx, int etype=0) |
Given id of element e, return the id of the idx-th adjacent node. | |
short | e2n_getIndex (int e, int n, int etype=0) |
Given id of element e and id of a node n, return i such that n is the i-th node adjacent to e. | |
void | e2n_setAll (int e, int *adjnodes, int etype=0) |
Set the node adjacencies of element e to adjnodes; assumes adjnodes has the correct size. | |
void | e2n_setIndex (int e, short idx, int newNode, int etype=0) |
Set the idx-th node adjacent to e to be newNode. | |
void | e2n_replace (int e, int oldNode, int newNode, int etype=0) |
Find node oldNode in e's adjacent ndoes and replace with newNode. | |
void | e2n_removeAll (int e, int etype=0) |
Replace all entries with -1. | |
void | n2n_getAll (int n, int **adjnodes, int *sz) |
Place all of node n's adjacent nodes in adjnodes and the resulting length of adjnodes in sz; assumes adjnodes is not allocated, but sz is. | |
void | n2n_add (int n, int newNode) |
Adds newNode to node n's node adjacency list. | |
void | n2n_remove (int n, int oldNode) |
Removes oldNode from n's node adjacency list. | |
void | n2n_replace (int n, int oldNode, int newNode) |
Finds oldNode in n's node adjacency list, and replaces it with newNode. | |
void | n2n_removeAll (int n) |
Remove all nodes from n's node adjacency list. | |
int | n2n_exists (int n, int queryNode) |
Is queryNode in node n's adjacency vector? | |
void | n2e_getAll (int n, int **adjelements, int *sz) |
Place all of node n's adjacent elements in adjelements and the resulting length of adjelements in sz; assumes adjelements is not allocated, but sz is. | |
void | n2e_add (int n, int newElem) |
Adds newElem to node n's element adjacency list. | |
void | n2e_remove (int n, int oldElem) |
Removes oldElem from n's element adjacency list. | |
void | n2e_replace (int n, int oldElem, int newElem) |
Finds oldElem in n's element adjacency list, and replaces it with newElem. | |
void | n2e_removeAll (int n) |
Remove all elements from n's element adjacency list. | |
int | getElementOnEdge (int n1, int n2) |
Get an element on edge (n1, n2) where n1, n2 are chunk-local node numberings and result is chunk-local element; return -1 in case of failure. | |
void | get2ElementsOnEdge (int n1, int n2, int *result_e1, int *result_e2) |
Get two elements adjacent to both n1 and n2. | |
void | setFemMeshModify (femMeshModify *m) |
void | setParfumSA (ParFUMShadowArray *m) |
FEM_Mesh () | |
void | pup (PUP::er &p) |
~FEM_Mesh () | |
void | setSymList (const FEM_Sym_List &src) |
The symmetries that apply to this mesh:. | |
const FEM_Sym_List & | getSymList (void) const |
void | copyShape (const FEM_Mesh &src) |
Set up the "shape" of our fields-- the number of element types, the datatypes for user data, etc--based on this mesh. | |
femMeshModify * | getfmMM () |
FEM_Entity & | setCount (int elTypeOrMinusOne) |
const FEM_Entity & | getCount (int elTypeOrMinusOne) const |
FEM_Elem & | setElem (int elType) |
const FEM_Elem & | getElem (int elType) const |
int | chkET (int elType) const |
FEM_Entity * | lookup (int entity, const char *caller) |
Look up this FEM_Entity type in this mesh, or abort if it's not valid. | |
const FEM_Entity * | lookup (int entity, const char *caller) const |
bool | isSetting (void) const |
Set/get direction control:. | |
void | becomeSetting (void) |
void | becomeGetting (void) |
int | nElems () const |
int | nElems (int t) const |
Return the total number of elements before type t. | |
int | getGlobalElem (int elType, int elNo) const |
Return the "global" number of element elNo of type elType. | |
void | setAscendingGlobalno (void) |
Set our global numbers as 0...n-1 for nodes, elements, and sparse. | |
void | setAbsoluteGlobalno () |
The global numbers for elements runs across different types. | |
void | copyOldGlobalno (const FEM_Mesh &m) |
void | print (int idxBase) |
int | getEntities (int *entites) |
Extract a list of our entities:. | |
void | clearSharedNodes () |
clearing the idxl and data for shared nodes and ghost nodes and shared elements | |
void | clearGhostNodes () |
void | clearGhostElems () |
void | createNodeElemAdj () |
void | createNodeNodeAdj () |
void | createElemElemAdj () |
FEM_ElemAdj_Layer * | getElemAdjLayer (void) |
void | e2e_getAll (int e, int *neighborss, int etype=0) |
Place all of element e's adjacent elements in neighbors; assumes neighbors allocated to correct size. | |
int | e2e_getNbr (int e, short idx, int etype=0) |
Given id of element e, return the id of the idx-th adjacent element. | |
int | e2e_getIndex (int e, int nbr, int etype=0) |
Given id of element e and id of another element nbr, return i such that nbr is the i-th element adjacent to e. | |
ElemID | e2e_getElem (int idx, int nbr, int etype=0) |
Same as previous but also returning the element type. | |
ElemID | e2e_getElem (ElemID elem, int nbr) |
Get an element adjacent to elem across its nbr'th face. | |
ElemID | e2e_getElem (ElemID *elem, int nbr) |
Same as above. | |
void | e2e_setAll (int e, int *neighbors, int etype=0) |
Set the element adjacencies of element e to neighbors; assumes neighbors has the correct size. | |
void | e2e_setIndex (int e, short idx, int newElem, int etype=0) |
Set the idx-th element adjacent to e to be newElem. | |
void | e2e_replace (int e, int oldNbr, int newNbr, int etype=0) |
Find element oldNbr in e's adjacent elements and replace with newNbr. | |
void | e2e_replace (ElemID e, ElemID oldNbr, ElemID newNbr) |
Find element oldNbr in e's adjacent elements and replace with newNbr. | |
void | e2e_removeAll (int e, int etype=0) |
Remove all neighboring elements in adjacency. | |
void | e2e_printAll (ElemID e) |
void | e2n_getAll (int e, int *adjnodes, int etype=0) |
Place all of element e's adjacent nodes in adjnodes; assumes adjnodes allocated to correct size. | |
int | e2n_getNode (int e, short idx, int etype=0) |
Given id of element e, return the id of the idx-th adjacent node. | |
short | e2n_getIndex (int e, int n, int etype=0) |
Given id of element e and id of a node n, return i such that n is the i-th node adjacent to e. | |
void | e2n_setAll (int e, int *adjnodes, int etype=0) |
Set the node adjacencies of element e to adjnodes; assumes adjnodes has the correct size. | |
void | e2n_setIndex (int e, short idx, int newNode, int etype=0) |
Set the idx-th node adjacent to e to be newNode. | |
void | e2n_replace (int e, int oldNode, int newNode, int etype=0) |
Find node oldNode in e's adjacent ndoes and replace with newNode. | |
void | e2n_removeAll (int e, int etype=0) |
Replace all entries with -1. | |
int | n2n_getLength (int n) |
void | n2n_getAll (int n, int *&adjnodes, int &sz) |
Place all of node n's adjacent nodes in adjnodes and the resulting length of adjnodes in sz; assumes adjnodes is not allocated, but sz is. | |
void | n2n_add (int n, int newNode) |
Adds newNode to node n's node adjacency list. | |
void | n2n_remove (int n, int oldNode) |
Removes oldNode from n's node adjacency list. | |
void | n2n_replace (int n, int oldNode, int newNode) |
Finds oldNode in n's node adjacency list, and replaces it with newNode. | |
void | n2n_removeAll (int n) |
Remove all nodes from n's node adjacency list. | |
int | n2n_exists (int n, int queryNode) |
Is queryNode in node n's adjacency vector? | |
int | n2e_getLength (int n) |
void | n2e_getAll (int n, int *&adjelements, int &sz) |
Place all of node n's adjacent elements in adjelements and the resulting length of adjelements in sz; assumes adjelements is not allocated, but sz is. | |
const CkVec< ElemID > & | n2e_getAll (int n) |
Return a reference to the structure holding all the elements adjacent to a node. | |
ElemID | n2e_getElem (int n, int whichAdjElem) |
Get one of node n's adjacent elements. | |
void | n2e_add (int n, int newElem) |
Adds newElem to node n's element adjacency list. | |
void | n2e_remove (int n, int oldElem) |
Removes oldElem from n's element adjacency list. | |
void | n2e_replace (int n, int oldElem, int newElem) |
Finds oldElem in n's element adjacency list, and replaces it with newElem. | |
void | n2e_removeAll (int n) |
Remove all elements from n's element adjacency list. | |
int | getElementOnEdge (int n1, int n2) |
Get an element on edge (n1, n2) where n1, n2 are chunk-local node numberings and result is chunk-local element; return -1 in case of failure. | |
void | get2ElementsOnEdge (int n1, int n2, int *result_e1, int *result_e2) |
Get two elements adjacent to both n1 and n2. | |
void | get2ElementsOnEdgeSorted (int n1, int n2, int *result_e1, int *result_e2) |
Get two elements adjacent to both n1 and n2. | |
int | countElementsOnEdge (int n1, int n2) |
Count the number of elements adjacent to both n1 and n2. | |
void | detectFeatures () |
Detect features of the mesh, storing results in verticesOnBoundary, edgesOnBoundary, cornersOnBoundary. | |
Data Fields | |
FEM_Node | node |
The nodes in this mesh:. | |
FEM_Entity_Types< FEM_Elem > | elem |
The different element types in this mesh:. | |
FEM_Entity_Types< FEM_Sparse > | sparse |
The different sparse types in this mesh:. | |
FEM_Userdata_list | udata |
The unassociated user data for this mesh:. | |
femMeshModify * | fmMM |
ParFUMShadowArray * | parfumSA |
bool | lastLayerSet |
FEM_ElemAdj_Layer * | lastElemAdjLayer |
FEM_Entity_Types< FEM_Elem > | elem |
The different element types in this mesh:. | |
FEM_Entity_Types< FEM_Sparse > | sparse |
The different sparse types in this mesh:. | |
std::set< std::pair< int, int > > | edgesOnBoundary |
list of edges on the boundary(adjacent to at least one local node) | |
std::set< int > | verticesOnBoundary |
list of the nodes found in edgesOnBoundary | |
std::set< int > | cornersOnBoundary |
list of corners on the mesh. | |
Private Member Functions | |
void | checkElemType (int elType, const char *caller) const |
void | checkSparseType (int uniqueID, const char *caller) const |
void | checkElemType (int elType, const char *caller) const |
void | checkSparseType (int uniqueID, const char *caller) const |
Private Attributes | |
FEM_Sym_List | symList |
The symmetries in the mesh. | |
bool | m_isSetting |
femMeshModify * | fmMM |
FEM_ElemAdj_Layer * | lastElemAdjLayer |
This class describes all the nodes and elements in a finite-element mesh or submesh.
Definition at line 1147 of file fem_mesh.h.
FEM_Mesh::FEM_Mesh | ( | ) |
FEM_Mesh::~FEM_Mesh | ( | ) |
Definition at line 1734 of file fem_mesh.C.
FEM_Mesh::FEM_Mesh | ( | ) |
FEM_Mesh::~FEM_Mesh | ( | ) |
void FEM_Mesh::checkElemType | ( | int | elType, | |
const char * | caller | |||
) | const [private] |
void FEM_Mesh::checkSparseType | ( | int | uniqueID, | |
const char * | caller | |||
) | const [private] |
void FEM_Mesh::setFemMeshModify | ( | femMeshModify * | m | ) |
Definition at line 1773 of file fem_mesh.C.
References fmMM.
Referenced by femMeshModify::setFemMesh().
void FEM_Mesh::pup | ( | PUP::er & | p | ) |
Definition at line 1782 of file fem_mesh.C.
References PUP::er::comment(), elem, m_isSetting, FEM_Userdata_list::pup(), FEM_Sym_List::pup(), FEM_Entity_Types< T >::pup(), sparse, symList, and udata.
Referenced by FEM_readMesh(), FEM_writeMesh(), and MeshElem::pup().
void FEM_Mesh::setSymList | ( | const FEM_Sym_List & | src | ) | [inline] |
The symmetries that apply to this mesh:.
Definition at line 1178 of file fem_mesh.h.
Referenced by copyShape(), and FEM_Mesh_split().
const FEM_Sym_List& FEM_Mesh::getSymList | ( | void | ) | const [inline] |
Definition at line 1179 of file fem_mesh.h.
Referenced by copyShape(), and FEM_Sym_coordinates().
void FEM_Mesh::copyShape | ( | const FEM_Mesh & | src | ) |
Set up the "shape" of our fields-- the number of element types, the datatypes for user data, etc--based on this mesh.
Definition at line 1883 of file fem_mesh.C.
References elem, FEM_Entity_Types< T >::get(), getSymList(), FEM_Entity_Types< T >::has(), node, PUP::s, FEM_Entity_Types< T >::set(), setSymList(), FEM_Entity_Types< T >::size(), and sparse.
Referenced by FEM_break_mesh(), FEM_Mesh_assemble(), MeshElem::operator+=(), MeshElem::operator=(), and splitter::splitter().
femMeshModify * FEM_Mesh::getfmMM | ( | ) |
Definition at line 1778 of file fem_mesh.C.
References fmMM.
Referenced by FEM_ADAPT_AdaptMesh(), FEM_ADAPT_Coarsen(), FEM_ADAPT_GradateMesh(), FEM_ADAPT_Init(), FEM_ADAPT_Refine(), FEM_ADAPT_SetReferenceMesh(), FEM_ADAPT_SimpleCoarsenMesh(), FEM_ADAPT_SimpleRefineMesh(), FEM_ADAPT_TestMesh(), FEM_add_element(), FEM_add_element_local(), FEM_add_node(), FEM_add_node_local(), FEM_add_shared_node_remote(), FEM_Ghost_Essential_attributes(), FEM_Modify_correctLockN(), FEM_Modify_Lock(), FEM_Modify_LockAll(), FEM_Modify_LockN(), FEM_Modify_LockUpdate(), FEM_Modify_Unlock(), FEM_Modify_UnlockN(), FEM_Print_e2e(), FEM_Print_e2n(), FEM_Print_n2e(), FEM_Print_n2n(), FEM_purge_element(), FEM_remove_element(), FEM_remove_element_local(), FEM_remove_node(), FEM_remove_node_local(), FEM_Entity::get_next_invalid(), FEM_MUtil::getLockOwner(), is_shared(), femMeshModify::shouldLoseGhost(), and FEM_MUtil::splitEntityRemote().
FEM_Entity& FEM_Mesh::setCount | ( | int | elTypeOrMinusOne | ) | [inline] |
const FEM_Entity& FEM_Mesh::getCount | ( | int | elTypeOrMinusOne | ) | const [inline] |
Definition at line 1193 of file fem_mesh.h.
References elem.
Referenced by FEM_chunk::exchangeGhostLists(), FEMchunk::exchangeGhostLists(), and FEM_Sym_coordinates().
FEM_Elem& FEM_Mesh::setElem | ( | int | elType | ) | [inline] |
const FEM_Elem& FEM_Mesh::getElem | ( | int | elType | ) | const [inline] |
Definition at line 1198 of file fem_mesh.h.
References elem.
Referenced by ParFUMShadowArray::collectLocalNodes().
Definition at line 1806 of file fem_mesh.C.
References elem, and FEM_Entity_Types< T >::size().
Referenced by FEM_Ghost_Stencil::check().
FEM_Entity * FEM_Mesh::lookup | ( | int | entity, | |
const char * | caller | |||
) |
Look up this FEM_Entity type in this mesh, or abort if it's not valid.
Definition at line 1737 of file fem_mesh.C.
References elem, FEM_Abort(), FEM_Entity::getGhost(), FEM_Entity_Types< T >::set(), and sparse.
Referenced by CreateAdaptAdjacencies(), createElemElemAdj(), e2e_getAll(), e2e_getIndex(), e2e_getNbr(), e2e_removeAll(), e2e_replace(), e2e_setAll(), e2e_setIndex(), e2n_getAll(), e2n_getIndex(), e2n_getNode(), e2n_removeAll(), e2n_replace(), e2n_setAll(), e2n_setIndex(), FEM_Mesh_allocate_valid_attr(), FEM_Mesh_data_layoutP(), FORTRAN_AS_C(), BulkAdapt::local_split_3D(), lookupAdaptAdjacencies(), lookupEdgeAdaptAdjacencies(), FEM_Adapt::newElement(), chunk::validCheck(), and FEM_Adapt::validDataFor().
const FEM_Entity * FEM_Mesh::lookup | ( | int | entity, | |
const char * | caller | |||
) | const |
FIXME: the const version is quite similar to the above, but it should *not* create new Entity types...
Definition at line 1767 of file fem_mesh.C.
References FEM_Entity::lookup().
bool FEM_Mesh::isSetting | ( | void | ) | const [inline] |
Set/get direction control:.
Definition at line 1206 of file fem_mesh.h.
Referenced by FEM_Mesh_data_layoutP().
void FEM_Mesh::becomeSetting | ( | void | ) | [inline] |
Definition at line 1207 of file fem_mesh.h.
Referenced by FEM_Mesh_allocate().
void FEM_Mesh::becomeGetting | ( | void | ) | [inline] |
Definition at line 1208 of file fem_mesh.h.
Referenced by splitter::createMesh(), FEM_master_parallel_part(), FEM_Mesh_assemble(), FEM_readMesh(), and FEM_slave_parallel_part().
int FEM_Mesh::nElems | ( | ) | const [inline] |
Definition at line 1210 of file fem_mesh.h.
References elem.
Referenced by splitter::buildCommLists(), check(), BulkAdapt::edge_bisect_2D(), FEM_Add_ghost_stencil(), FEM_master_parallel_part(), FEM_Mesh_broadcast(), FEM_Mesh_partition(), FEM_Mesh_split(), FEM_slave_parallel_part(), getGlobalElem(), FEM_Partition::getPartition(), makeGhost(), MeshElem::operator+=(), and setAbsoluteGlobalno().
Return the total number of elements before type t.
Definition at line 1814 of file fem_mesh.C.
References elem, FEM_Entity_Types< T >::get(), FEM_Entity_Types< T >::has(), and FEM_Entity_Types< T >::size().
Return the "global" number of element elNo of type elType.
Definition at line 1831 of file fem_mesh.C.
References elem, nElems(), and size.
Referenced by splitter::copySparseChunks().
void FEM_Mesh::setAscendingGlobalno | ( | void | ) |
Set our global numbers as 0...n-1 for nodes, elements, and sparse.
Definition at line 1845 of file fem_mesh.C.
References elem, FEM_Entity_Types< T >::has(), PUP::s, FEM_Entity_Types< T >::size(), and sparse.
Referenced by FEM_Mesh_partition(), and setAbsoluteGlobalno().
void FEM_Mesh::setAbsoluteGlobalno | ( | ) |
The global numbers for elements runs across different types.
Definition at line 1852 of file fem_mesh.C.
References elem, FEM_Entity_Types< T >::has(), nElems(), setAscendingGlobalno(), and FEM_Entity_Types< T >::size().
Referenced by FEM_master_parallel_part().
void FEM_Mesh::copyOldGlobalno | ( | const FEM_Mesh & | m | ) |
Definition at line 1859 of file fem_mesh.C.
References elem, FEM_Entity_Types< T >::has(), node, PUP::s, FEM_Entity_Types< T >::size(), and sparse.
Extract a list of our entities:.
Definition at line 1896 of file fem_mesh.C.
References elem, FEM_Entity_Types< T >::has(), PUP::s, FEM_Entity_Types< T >::size(), and sparse.
void FEM_Mesh::createNodeElemAdj | ( | ) |
Definition at line 314 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), elem, and FEM_Entity_Types< T >::size().
Referenced by FORTRAN_AS_C().
void FEM_Mesh::createNodeNodeAdj | ( | ) |
Definition at line 324 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), elem, and FEM_Entity_Types< T >::size().
Referenced by FORTRAN_AS_C().
void FEM_Mesh::createElemElemAdj | ( | ) |
Definition at line 380 of file fem_mesh_adjacency.C.
References PUP::a, tupleTable::addTuple(), PUP::b, tupleTable::beginLookup(), CmiMemoryCheck(), conn, FEM_ElemAdj_Layer::elem, elem, BasicTable2d< T >::getData(), getElemAdjLayer(), FEM_Entity_Types< T >::has(), FEM_ElemAdj_Layer::initialized, PUP::l, lookup(), tupleTable::lookupNext(), tupleTable::MAX_TUPLE, n, elemList::next, FEM_ElemAdj_Layer::nodesPerTuple, FEM_Entity_Types< T >::size(), PUP::t, and PUP::u.
Referenced by FORTRAN_AS_C().
FEM_ElemAdj_Layer * FEM_Mesh::getElemAdjLayer | ( | void | ) |
Definition at line 341 of file fem_mesh_adjacency.C.
References lastElemAdjLayer.
Referenced by createElemElemAdj(), FEM_Add_elem2face_tuples(), and update_new_element_e2e().
Place all of element e's adjacent elements in neighbors; assumes neighbors allocated to correct size.
Place all of element e's adjacent elements in neighbors; assumes neighbors allocated to correct size.
Definition at line 542 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), elem, FEM_Entity_Types< T >::get(), lookup(), and BasicTable2d< T >::width().
Referenced by FEM_AdaptL::edge_contraction_help(), FEM_add_element_local(), FEM_MUtil::FEM_Print_e2e(), and FEM_remove_element_local().
Given id of element e, return the id of the idx-th adjacent element.
Given id of element e of type etype, return the id of the idx-th adjacent element.
Definition at line 569 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), elem, FEM_Entity_Types< T >::get(), and lookup().
Referenced by FEM_Adapt::adj_traverse(), FEM_Adapt_Algs::Coarsen(), FEM_Adapt::edge_contraction(), FEM_Adapt::edge_contraction_help(), FEM_Adapt::edge_flip_help(), FEM_Adapt::findAdjData(), Bulk_Adapt::flipOrBisect(), FEM_Adapt_Algs::flipOrBisect(), FEM_Adapt_Algs::refine_element_leb(), FEM_Adapt::vertex_remove_help(), FEM_Adapt::vertex_split(), and FEM_Adapt::vertex_split_help().
Given id of element e and id of another element nbr, return i such that nbr is the i-th element adjacent to e.
Given id of element e and id of another element nbr, return i such that nbr is the i-th element adjacent to e.
Definition at line 593 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), elem, FEM_Entity_Types< T >::get(), lookup(), and BasicTable2d< T >::width().
Set the element adjacencies of element e to neighbors; assumes neighbors has the correct size.
Set the element adjacencies of element e to neighbors; assumes neighbors has the correct size.
Definition at line 626 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), elem, FEM_Entity_Types< T >::get(), lookup(), and BasicTable2d< T >::width().
Referenced by FEM_Adapt::localEdgeBisect(), and FEM_Adapt::vertex_split().
Set the idx-th element adjacent to e to be newElem.
Definition at line 658 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), elem, FEM_Entity_Types< T >::get(), and lookup().
Referenced by FEM_Adapt::edge_flip_help().
Find element oldNbr in e's adjacent elements and replace with newNbr.
Definition at line 681 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), elem, FEM_Entity_Types< T >::get(), lookup(), and BasicTable2d< T >::width().
Referenced by FEM_Adapt::edge_bisect_help(), FEM_Adapt::edge_contraction_help(), FEM_Adapt::edge_flip_help(), FEM_remove_element_local(), FEM_Adapt::localEdgeBisect(), FEM_Adapt::vertex_remove_help(), and FEM_Adapt::vertex_split().
Remove all neighboring elements in adjacency.
Definition at line 714 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), elem, FEM_Entity_Types< T >::get(), lookup(), and BasicTable2d< T >::width().
Referenced by FEM_Adapt::deleteElement(), and FEM_add_element_local().
Place all of element e's adjacent nodes in adjnodes; assumes adjnodes allocated to correct size.
Place all of element e's adjacent nodes in adjnodes; assumes adjnodes allocated to correct size.
Definition at line 743 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), conn, elem, lookup(), and BasicTable2d< T >::width().
Referenced by FEM_MUtil::addToSharedList(), FEM_MUtil::AreaTest(), FEM_Adapt_Algs::Coarsen(), FEM_Adapt::e2n_getNot(), FEM_MUtil::eatIntoElement(), femMeshModify::eatIntoElement(), FEM_AdaptL::edge_contraction(), FEM_AdaptL::edge_contraction_help(), FEM_MUtil::FEM_Print_e2n(), FEM_remove_element(), FEM_remove_element_local(), Bulk_Adapt::flipOrBisect(), FEM_Adapt_Algs::flipOrBisect(), Bulk_Adapt::getAreaQuality(), FEM_Adapt_Algs::getAreaQuality(), Bulk_Adapt::ParFUM_SetReferenceMesh(), FEM_Adapt_Algs::Refine(), FEM_Adapt_Algs::refine_element_leb(), Bulk_Adapt::SetMeshSize(), FEM_Adapt_Algs::SetMeshSize(), FEM_Adapt_Algs::SetReferenceMesh(), FEM_Adapt_Algs::simple_coarsen(), FEM_Adapt_Algs::simple_refine(), FEM_MUtil::StructureTest(), update_new_element_e2e(), and femMeshModify::willItLose().
Given id of element e, return the id of the idx-th adjacent node.
Definition at line 769 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), conn, elem, and lookup().
Referenced by FEM_Adapt::adj_traverse(), FEM_Adapt::edge_contraction_help(), FEM_Adapt::edge_flip_help(), FEM_Adapt::findAdjData(), FEM_Adapt::vertex_remove_help(), and FEM_Adapt::vertex_split_help().
Given id of element e and id of a node n, return i such that n is the i-th node adjacent to e.
Given id of element e and id of a node n, return i such that n is the i-th node adjacent to e.
Definition at line 792 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), conn, elem, lookup(), and BasicTable2d< T >::width().
Referenced by FEM_Adapt_Algs::Coarsen(), and FEM_Adapt::find_local_node_index().
Set the node adjacencies of element e to adjnodes; assumes adjnodes has the correct size.
Set the node adjacencies of element e to adjnodes; assumes adjnodes has the correct size.
Definition at line 820 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), conn, elem, lookup(), and BasicTable2d< T >::width().
Referenced by FEM_Adapt::vertex_split().
Set the idx-th node adjacent to e to be newNode.
Definition at line 846 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), conn, elem, and lookup().
Referenced by FEM_Adapt::edge_flip_help(), and FEM_Adapt::localEdgeBisect().
Find node oldNode in e's adjacent ndoes and replace with newNode.
Definition at line 868 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), conn, elem, lookup(), and BasicTable2d< T >::width().
Referenced by FEM_Adapt::edge_contraction_help(), FEM_remove_element(), FEM_MUtil::Replace_node_local(), FEM_Adapt::vertex_remove_help(), and FEM_Adapt::vertex_split().
Replace all entries with -1.
Definition at line 899 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), conn, elem, lookup(), and BasicTable2d< T >::width().
Place all of node n's adjacent nodes in adjnodes and the resulting length of adjnodes in sz; assumes adjnodes is not allocated, but sz is.
Place all of node n's adjacent nodes in adjnodes and the resulting length of adjnodes in sz; assumes adjnodes is not allocated, but sz is.
Definition at line 928 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), and CkVec< T >::length().
Referenced by FEM_AdaptL::edge_contraction_help(), FEM_Adapt::edge_contraction_help(), FEM_Adapt_Algs::FEM_mesh_smooth(), FEM_MUtil::FEM_Print_n2n(), FEM_remove_element(), FEM_remove_node(), FEM_remove_node_local(), FEM_MUtil::findGhostSend(), FEM_Adapt_Algs::GradateMesh(), FEM_Adapt::isCorner(), Bulk_Adapt::ParFUM_GradateMesh(), FEM_MUtil::removeGhostNodeRemote(), FEM_MUtil::Replace_node_local(), FEM_MUtil::StructureTest(), FEM_AdaptL::vertex_remove(), and FEM_Adapt::vertex_remove_help().
Adds newNode to node n's node adjacency list.
Definition at line 964 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), nn, and CkVec< T >::push_back().
Referenced by FEM_Adapt::edge_contraction_help(), FEM_Adapt::edge_flip_help(), FEM_add_element_local(), FEM_remove_element(), FEM_remove_element_local(), FEM_Adapt::localEdgeBisect(), FEM_MUtil::Replace_node_local(), and FEM_Adapt::vertex_split().
Removes oldNode from n's node adjacency list.
Definition at line 993 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), CkVec< T >::length(), and CkVec< T >::remove().
Referenced by FEM_Adapt::edge_bisect_help(), FEM_Adapt::edge_contraction_help(), FEM_Adapt::edge_flip_help(), FEM_remove_element(), FEM_remove_element_local(), FEM_Adapt::vertex_remove_help(), and FEM_Adapt::vertex_split().
Finds oldNode in n's node adjacency list, and replaces it with newNode.
Definition at line 1057 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), and CkVec< T >::length().
Referenced by FEM_Adapt::edge_contraction_help(), FEM_remove_element(), FEM_Adapt::localEdgeBisect(), FEM_MUtil::Replace_node_local(), and FEM_Adapt::vertex_remove_help().
void FEM_Mesh::n2n_removeAll | ( | int | n | ) |
Remove all nodes from n's node adjacency list.
Definition at line 1092 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), and CkVec< T >::free().
Referenced by FEM_Adapt::deleteNode(), FEM_add_node_local(), and FEM_MUtil::Replace_node_local().
Is queryNode in node n's adjacency vector?
Definition at line 1027 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), and CkVec< T >::length().
Referenced by FEM_add_element_local(), FEM_remove_element_local(), and FEM_Adapt::findAdjData().
Place all of node n's adjacent elements in adjelements and the resulting length of adjelements in sz; assumes adjelements is not allocated, but sz is.
Place all of node n's adjacent elements in adjelements and the resulting length of adjelements in sz; assumes adjelements is not allocated, but sz is.
Definition at line 1119 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), len, and CkVec< T >::length().
Referenced by FEM_MUtil::addToSharedList(), FEM_AdaptL::edge_contraction_help(), FEM_Adapt::edge_contraction_help(), FEM_MUtil::FEM_Print_n2e(), FEM_remove_element(), FEM_remove_node(), FEM_remove_node_local(), FEM_Adapt::findElementWithNodes(), get2ElementsOnEdge(), getElementOnEdge(), FEM_Adapt::isEdgeBoundary(), n2e_add(), FEM_Adapt::n2e_exists(), n2e_replace(), FEM_MUtil::removeGhostNodeRemote(), FEM_MUtil::Replace_node_local(), femMeshModify::shouldLoseGhost(), FEM_MUtil::StructureTest(), update_new_element_e2e(), and femMeshModify::willItLose().
Adds newElem to node n's element adjacency list.
Definition at line 1159 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), elem, ghost(), n2e_getAll(), and CkVec< T >::push_back().
Referenced by FEM_Adapt::edge_contraction_help(), FEM_Adapt::edge_flip_help(), FEM_add_element_local(), FEM_remove_element(), FEM_Adapt::localEdgeBisect(), FEM_MUtil::Replace_node_local(), and FEM_Adapt::vertex_split().
Removes oldElem from n's element adjacency list.
Definition at line 1196 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), CkVec< T >::length(), and CkVec< T >::remove().
Referenced by FEM_Adapt::edge_contraction_help(), FEM_Adapt::edge_flip_help(), FEM_remove_element(), FEM_remove_element_local(), FEM_Adapt::vertex_remove_help(), and FEM_Adapt::vertex_split().
Finds oldElem in n's element adjacency list, and replaces it with newElem.
Definition at line 1230 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), elem, ghost(), CkVec< T >::length(), and n2e_getAll().
Referenced by FEM_Adapt::localEdgeBisect(), and FEM_Adapt::vertex_remove_help().
void FEM_Mesh::n2e_removeAll | ( | int | n | ) |
Remove all elements from n's element adjacency list.
Definition at line 1273 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), and CkVec< T >::free().
Referenced by FEM_Adapt::deleteNode(), FEM_add_node_local(), and FEM_MUtil::Replace_node_local().
Get an element on edge (n1, n2) where n1, n2 are chunk-local node numberings and result is chunk-local element; return -1 in case of failure.
Get an element on edge (n1, n2) where n1, n2 are chunk-local node numberings; return -1 in case of failure.
Definition at line 1304 of file fem_mesh_adjacency.C.
References CmiMemoryCheck(), and n2e_getAll().
Referenced by FEM_Adapt::edge_contraction(), FEM_Adapt::findAdjData(), and FEM_Adapt::vertex_split().
Get two elements adjacent to both n1 and n2.
Get 2 elements on edge (n1, n2) where n1, n2 are chunk-local node numberings; return the edges in result_e1 and result_e2 No preference is given to ghosts over local elements.
Definition at line 1339 of file fem_mesh_adjacency.C.
References CkExit(), CmiMemoryCheck(), and n2e_getAll().
Referenced by FEM_Mesh_get2ElementsOnEdge(), FEM_Adapt_Algs::GradateMesh(), and Bulk_Adapt::ParFUM_GradateMesh().
void FEM_Mesh::checkElemType | ( | int | elType, | |
const char * | caller | |||
) | const [private] |
void FEM_Mesh::checkSparseType | ( | int | uniqueID, | |
const char * | caller | |||
) | const [private] |
void FEM_Mesh::setFemMeshModify | ( | femMeshModify * | m | ) |
void FEM_Mesh::setParfumSA | ( | ParFUMShadowArray * | m | ) |
Definition at line 2018 of file mesh.C.
References parfumSA.
Referenced by ParFUMShadowArray::ckJustMigrated(), and ParFUMShadowArray::setFemMesh().
void FEM_Mesh::pup | ( | PUP::er & | p | ) |
void FEM_Mesh::setSymList | ( | const FEM_Sym_List & | src | ) | [inline] |
const FEM_Sym_List& FEM_Mesh::getSymList | ( | void | ) | const [inline] |
Definition at line 1319 of file ParFUM_internals.h.
void FEM_Mesh::copyShape | ( | const FEM_Mesh & | src | ) |
femMeshModify* FEM_Mesh::getfmMM | ( | ) |
FEM_Entity& FEM_Mesh::setCount | ( | int | elTypeOrMinusOne | ) | [inline] |
const FEM_Entity& FEM_Mesh::getCount | ( | int | elTypeOrMinusOne | ) | const [inline] |
FEM_Elem& FEM_Mesh::setElem | ( | int | elType | ) | [inline] |
const FEM_Elem& FEM_Mesh::getElem | ( | int | elType | ) | const [inline] |
FEM_Entity* FEM_Mesh::lookup | ( | int | entity, | |
const char * | caller | |||
) |
Look up this FEM_Entity type in this mesh, or abort if it's not valid.
const FEM_Entity* FEM_Mesh::lookup | ( | int | entity, | |
const char * | caller | |||
) | const |
bool FEM_Mesh::isSetting | ( | void | ) | const [inline] |
void FEM_Mesh::becomeSetting | ( | void | ) | [inline] |
Definition at line 1347 of file ParFUM_internals.h.
void FEM_Mesh::becomeGetting | ( | void | ) | [inline] |
Definition at line 1348 of file ParFUM_internals.h.
int FEM_Mesh::nElems | ( | ) | const [inline] |
Return the "global" number of element elNo of type elType.
void FEM_Mesh::setAscendingGlobalno | ( | void | ) |
Set our global numbers as 0...n-1 for nodes, elements, and sparse.
void FEM_Mesh::setAbsoluteGlobalno | ( | ) |
The global numbers for elements runs across different types.
void FEM_Mesh::copyOldGlobalno | ( | const FEM_Mesh & | m | ) |
void FEM_Mesh::print | ( | int | idxBase | ) |
void FEM_Mesh::clearSharedNodes | ( | ) |
clearing the idxl and data for shared nodes and ghost nodes and shared elements
Definition at line 2121 of file mesh.C.
Referenced by ParFUM_desharing().
void FEM_Mesh::clearGhostNodes | ( | ) |
Definition at line 2125 of file mesh.C.
Referenced by ParFUM_deghosting().
void FEM_Mesh::clearGhostElems | ( | ) |
Definition at line 2129 of file mesh.C.
References elem, FEM_Entity_Types< T >::has(), and FEM_Entity_Types< T >::size().
Referenced by ParFUM_deghosting().
void FEM_Mesh::createNodeElemAdj | ( | ) |
void FEM_Mesh::createNodeNodeAdj | ( | ) |
void FEM_Mesh::createElemElemAdj | ( | ) |
FEM_ElemAdj_Layer* FEM_Mesh::getElemAdjLayer | ( | void | ) |
Place all of element e's adjacent elements in neighbors; assumes neighbors allocated to correct size.
Same as previous but also returning the element type.
Referenced by meshFacetItr_Begin(), meshFacetItr_GetCurr(), meshFacetItr_Next(), topFacetItr_Begin(), topFacetItr_GetCurr(), and topFacetItr_Next().
Get an element adjacent to elem across its nbr'th face.
Find element oldNbr in e's adjacent elements and replace with newNbr.
Find element oldNbr in e's adjacent elements and replace with newNbr.
void FEM_Mesh::e2e_printAll | ( | ElemID | e | ) |
Place all of element e's adjacent nodes in adjnodes; assumes adjnodes allocated to correct size.
Find node oldNode in e's adjacent ndoes and replace with newNode.
Place all of node n's adjacent nodes in adjnodes and the resulting length of adjnodes in sz; assumes adjnodes is not allocated, but sz is.
Finds oldNode in n's node adjacency list, and replaces it with newNode.
Referenced by meshModel_CreateNodeElemItr(), and topModel_CreateNodeElemItr().
Return a reference to the structure holding all the elements adjacent to a node.
Get one of node n's adjacent elements.
Referenced by meshNodeElemItr_GetCurr(), and topNodeElemItr_GetCurr().
Finds oldElem in n's element adjacency list, and replaces it with newElem.
Get two elements adjacent to both n1 and n2.
Get two elements adjacent to both n1 and n2.
Count the number of elements adjacent to both n1 and n2.
void FEM_Mesh::detectFeatures | ( | ) |
Detect features of the mesh, storing results in verticesOnBoundary, edgesOnBoundary, cornersOnBoundary.
We require at least a single node-adjacent ghost layer for this to work correctly
We do not yet pup the structures that store the results, so don't use these with migration yet
Referenced by FEM_Mesh_detect_features().
FEM_Sym_List FEM_Mesh::symList [private] |
bool FEM_Mesh::m_isSetting [private] |
femMeshModify* FEM_Mesh::fmMM [private] |
Definition at line 1151 of file fem_mesh.h.
Referenced by femMeshModify::ckJustMigrated(), getfmMM(), and setFemMeshModify().
FEM_ElemAdj_Layer* FEM_Mesh::lastElemAdjLayer [private] |
The nodes in this mesh:.
Definition at line 1166 of file fem_mesh.h.
Referenced by BulkAdapt::add_node(), FEM_MUtil::addElemRemote(), FEM_MUtil::addGhostElementRemote(), splitter::addGhostInner(), splitter::addGhostNode(), splitter::addGhosts(), femMeshModify::addghostsendl(), femMeshModify::addghostsendl1(), femMeshModify::addghostsendr(), femMeshModify::addghostsendr1(), addIDXLists(), femMeshModify::addNodeRemote(), FEM_MUtil::addToSharedList(), femMeshModify::addTransIDXLRemote(), splitter::buildCommLists(), edge::buildLockingCloud(), check(), FEM_Adapt_Algs::Coarsen(), splitter::consistencyCheck(), copyOldGlobalno(), copyShape(), splitter::createMesh(), chunk::deriveEdges(), BulkAdapt::edge_bisect_3D(), FEM_Adapt::edge_bisect_help(), FEM_AdaptL::edge_contraction(), FEM_AdaptL::edge_contraction_help(), FEM_Adapt::edge_flip_help(), FEM_MUtil::exists_in_IDXL(), FEM_add_element(), FEM_add_node(), FEM_add_node_local(), FEM_break_mesh(), FEM_Ghost_Essential_attributes(), FEM_Interpolate::FEM_InterpolateCopyAttributes(), FEM_Interpolate::FEM_InterpolateNodeInElement(), FEM_Interpolate::FEM_InterpolateNodeOnEdge(), FEM_Interpolate::FEM_InterpolateNodeOnFace(), FEM_Make_node_globalno(), FEM_master_parallel_part(), FEM_Mesh_assemble(), FEM_Mesh_partition(), FEM_Modify_LockAll(), FEM_Modify_LockUpdate(), FEM_Print_Mesh_Summary(), FEM_readMesh(), FEM_remove_element(), FEM_remove_node(), FEM_remove_node_local(), FEM_Set_sym_nodes(), FEM_slave_parallel_part(), FEM_write_part2mesh(), FEM_Adapt::findAdjData(), Bulk_Adapt::findEdgeLengths(), FEM_MUtil::findGhostSend(), ParFUMShadowArray::FindIdxlSide(), chunk::fixNode(), edge::flipPrevent(), FTN_NAME(), BulkAdapt::get_idxl_for_node(), BulkAdapt::get_node_from_idxl(), FEM_MUtil::getChunkNos(), FEM_MUtil::getChunksSharingGhostNodeRemote(), FEMchunk::getComm(), Bulk_Adapt::getCoord(), femMeshModify::getIdxGhostSend(), FEM_MUtil::getLockOwner(), FEMchunk::getPrimary(), FEM_Adapt_Algs::GradateMesh(), BulkAdapt::handle_split_3D(), FEM_MUtil::IdxlListTest(), BulkAdapt::is_node_in_idxl(), FEM_MUtil::isShared(), chunk::joinCommLists(), FEM_MUtil::knowsAbtNode(), BulkAdapt::length(), FEM_lock::lock(), ParFUMShadowArray::lockLocalNodes(), FEM_AdaptL::lockNodes(), ParFUMShadowArray::lockRegion(), ParFUMShadowArray::lockSharedIdxls(), FEM_MUtil::lookup_in_IDXL(), BulkAdapt::make_node_shared(), makeGhost(), makeGhosts(), mesh2graph(), meshModel_CreateNodeElemItr(), meshNodeItr_Begin(), meshNodeItr_IsValid(), meshNodeItr_Next(), FEM_Adapt::newNode(), BulkAdapt::one_side_split_2D(), MeshElem::operator+=(), FEM_MUtil::packEntData(), ParFUM_generateGlobalNodeNumbers(), Bulk_Adapt::ParFUM_GradateMesh(), ParFUM_recreateSharedNodes(), ParFUM_SA_Init(), FEM_Adapt_Algs::Refine(), Bulk_Adapt::Refine_h(), BulkAdapt::remote_edge_bisect_2D(), FEM_MUtil::removeGhostElementRemote(), FEM_MUtil::removeGhostNodeRemote(), femMeshModify::removeIDXLRemote(), FEM_MUtil::removeNodeAll(), FEM_MUtil::removeNodeRemote(), renumberConn(), FEM_MUtil::Replace_node_local(), FEM_MUtil::residualLockTest(), femMeshModify::setFemMesh(), Bulk_Adapt::SetMeshSize(), FEM_Adapt_Algs::SetMeshSize(), sharedWith(), edge::split(), element::split(), FEM_MUtil::splitEntityAll(), FEM_MUtil::splitEntityRemote(), FEM_MUtil::splitEntitySharing(), splitter::splitter(), FEM_MUtil::StructureTest(), topModel_CreateNodeElemItr(), topNodeItr_Begin(), topNodeItr_IsValid(), topNodeItr_Next(), element::translateNodeIDs(), edge::translateSharedNodeIDs(), FEM_MUtil::unlockAll(), ParFUMShadowArray::unlockLocalNodes(), FEM_AdaptL::unlockNodes(), ParFUMShadowArray::unlockSharedIdxls(), BulkAdapt::update_node_coord(), FEM_MUtil::updateAttrs(), edge::updateCloud(), FEM_MUtil::UpdateGhostSend(), femMeshModify::updateIdxlList(), femMeshModify::updateNodeAttrs(), femMeshModify::verifyghostsend(), FEM_MUtil::verifyIdxlListRemote(), and FEM_lockN::verifyLock().
FEM_Entity_Types<FEM_Elem> FEM_Mesh::elem |
The different element types in this mesh:.
Definition at line 1169 of file fem_mesh.h.
Referenced by splitter::aboutToCreate(), BulkAdapt::add_element(), splitter::addGhostElement(), FEM_MUtil::addGhostElementRemote(), splitter::addGhostInner(), splitter::addGhostPair(), addIDXLists(), splitter::addLayer(), splitter::addStencil(), FEM_MUtil::addToSharedList(), FEM_MUtil::AreaTest(), splitter::buildCommLists(), FEM_Ghost_Stencil::check(), check(), FEM_Sparse_Elem_Checker::check(), chkET(), femMeshModify::cleanupIDXL(), clearGhostElems(), FEM_Adapt_Algs::Coarsen(), splitter::consistencyCheck(), copyOldGlobalno(), copyShape(), createElemElemAdj(), splitter::createMesh(), createNodeElemAdj(), createNodeNodeAdj(), BulkAdapt::dumpConn(), e2e_getAll(), e2e_getIndex(), e2e_getNbr(), e2e_removeAll(), e2e_replace(), e2e_setAll(), e2e_setIndex(), e2n_getAll(), e2n_getIndex(), e2n_getNode(), e2n_removeAll(), e2n_replace(), e2n_setAll(), e2n_setIndex(), FEM_MUtil::eatIntoElement(), femMeshModify::eatIntoElement(), BulkAdapt::edge_bisect_2D(), BulkAdapt::edge_bisect_3D(), FEM_Adapt::edge_bisect_help(), FEM_AdaptL::edge_contraction_help(), FEM_Adapt::edge_flip_help(), FEM_MUtil::exists_in_IDXL(), FEM_ADAPT_SetElementSizeField(), FEM_ADAPT_SetElementsSizeField(), FEM_add_element(), FEM_add_element_local(), FEM_Add_ghost_stencil(), FEM_break_mesh(), FEM_Interpolate::FEM_InterpolateElementCopy(), FEM_master_parallel_part(), FEM_Mesh_assemble(), FEM_Mesh_broadcast(), FEM_MUtil::FEM_Print_e2e(), FEM_MUtil::FEM_Print_e2n(), FEM_Print_Mesh_Summary(), FEM_purge_element(), FEM_remove_element(), FEM_remove_element_local(), FEM_write_part2mesh(), Bulk_Adapt::findEdgeLengths(), ParFUMShadowArray::FindIdxlSide(), FEM_MUtil::getChunkNos(), getEntities(), getGlobalElem(), FEM_MUtil::getRemoteIdx(), globalElem2elType(), FEM_Adapt_Algs::GradateMesh(), BulkAdapt::handle_split_3D(), FEM_MUtil::IdxlListTest(), BulkAdapt::isLongest(), BulkAdapt::local_split_3D(), BulkAdapt::local_update_asterisk_3D(), FEM_lock::lock(), lookup(), FEM_MUtil::lookup_in_IDXL(), makeGhost(), makeGhosts(), mesh2graph(), mesh2graph_face(), meshElemItr_Begin(), meshElemItr_Next(), meshFacetItr_GetCurr(), n2e_add(), n2e_replace(), nElems(), BulkAdapt::one_side_split_2D(), MeshElem::operator+=(), femMeshModify::packElemData(), FEM_MUtil::packEntData(), Bulk_Adapt::ParFUM_GradateMesh(), Bulk_Adapt::ParFUM_SetReferenceMesh(), print(), pup(), FEM_Adapt_Algs::Refine(), Bulk_Adapt::Refine_h(), BulkAdapt::remote_edge_bisect_2D(), BulkAdapt::remote_edgeAdj_add(), BulkAdapt::remote_edgeAdj_replace(), FEM_MUtil::removeElemRemote(), FEM_MUtil::removeGhostElementRemote(), setAbsoluteGlobalno(), setAscendingGlobalno(), Bulk_Adapt::SetMeshSize(), FEM_Adapt_Algs::SetMeshSize(), FEM_Adapt_Algs::SetReferenceMesh(), FEM_Adapt_Algs::simple_coarsen(), FEM_Adapt_Algs::simple_refine(), splitter::splitter(), FEM_MUtil::StructureTest(), topElemItr_Begin(), topElemItr_Next(), topFacetItr_GetCurr(), BulkAdapt::update_element_conn(), BulkAdapt::update_local_edge_adj(), BulkAdapt::update_local_face_adj(), update_new_element_e2e(), FEM_MUtil::updateAttrs(), FEM_MUtil::verifyIdxlListRemote(), and splitter::~splitter().
FEM_Entity_Types<FEM_Sparse> FEM_Mesh::sparse |
The different sparse types in this mesh:.
Definition at line 1172 of file fem_mesh.h.
Referenced by copyOldGlobalno(), copyShape(), FEM_Mesh_assemble(), getEntities(), lookup(), print(), pup(), splitter::separateSparse(), and setAscendingGlobalno().
The unassociated user data for this mesh:.
Definition at line 1175 of file fem_mesh.h.
Referenced by splitter::createMesh(), FEM_master_parallel_part(), FEM_Mesh_assemble(), FEM_slave_parallel_part(), and pup().
Definition at line 1294 of file ParFUM_internals.h.
Definition at line 1295 of file ParFUM_internals.h.
Referenced by BulkAdapt::BulkAdapt(), Bulk_Adapt::Refine_h(), and setParfumSA().
Definition at line 1296 of file ParFUM_internals.h.
Definition at line 1297 of file ParFUM_internals.h.
FEM_Entity_Types<FEM_Elem> FEM_Mesh::elem |
FEM_Entity_Types<FEM_Sparse> FEM_Mesh::sparse |
std::set<std::pair<int,int> > FEM_Mesh::edgesOnBoundary |
list of edges on the boundary(adjacent to at least one local node)
Definition at line 1499 of file ParFUM_internals.h.
std::set<int> FEM_Mesh::verticesOnBoundary |
std::set<int> FEM_Mesh::cornersOnBoundary |
list of corners on the mesh.
These are nodes in edgesOnBoundary that have small angles between their adjacent boundary edges
Definition at line 1507 of file ParFUM_internals.h.