|
OOFEM 2.4
OOFEM.org - Object Oriented Finite Element Solver
|
Class representing connectivity table. More...
#include <connectivitytable.h>
Collaboration diagram for oofem::ConnectivityTable:Public Member Functions | |
| ConnectivityTable (Domain *d) | |
| Constructor. | |
| ~ConnectivityTable () | |
| Destructor. | |
| void | reset () |
| reset receiver to an initial state (will force table update, when needed next time) | |
| void | setDomain (Domain *ipDomain) |
| void | instanciateConnectivityTable () |
| Builds connectivity table. | |
| const IntArray * | giveDofManConnectivityArray (int dofman) |
| void | giveElementNeighbourList (IntArray &answer, const IntArray &elemList) |
| Returns list of neighboring elements to given elements (they are included too). | |
| void | giveNodeNeighbourList (IntArray &answer, IntArray &nodeList) |
| Returns list of elements sharing any given nodes. | |
| void | giveElementsWithNodes (IntArray &answer, const IntArray &nodes) |
| Return list of elements sharing all given nodes. | |
| void | buildElementColoring () |
| Builds element coloring, assigning to element color, such that no neighboring elements have the same color. | |
| int | getElementColor (int e) |
| Returns element color as determined by coloring algorithm. | |
| void | buildSharedBoundaryEntities (Domain *d) |
| Build list of shared element edges and surfaces. | |
| SharedBoundaryEntity * | giveBoundaryEntity (int id) |
| Access SharedBoundaryEntities. | |
Private Attributes | |
| Domain * | domain |
| Pointer to domain to which receiver belongs to. | |
| std::vector< IntArray > | nodalConnectivity |
| Nodal connectivity table for domain. | |
| int | nodalConnectivityFlag |
| Flag indicating assembled connectivity table for domain. | |
| IntArray | elementColoring |
| Element colors. | |
| bool | elementColoringFlag |
| flag indicating assembled element coloring | |
| std::vector< std::unique_ptr< SharedBoundaryEntity > > | sharedBoundaryEntities |
Class representing connectivity table.
Usually attribute of domain. Provides selected connectivity information services for domain.
Its tasks are
Definition at line 92 of file connectivitytable.h.
| oofem::ConnectivityTable::ConnectivityTable | ( | Domain * | d | ) |
Constructor.
Creates new Connectivity table belonging to given domain.
Definition at line 46 of file connectivitytable.C.
|
inline |
Destructor.
Definition at line 126 of file connectivitytable.h.
| void oofem::ConnectivityTable::buildElementColoring | ( | ) |
Builds element coloring, assigning to element color, such that no neighboring elements have the same color.
Definition at line 190 of file connectivitytable.C.
References oofem::IntArray::at(), oofem::IntArray::containsSorted(), domain, elementColoring, elementColoringFlag, oofem::Domain::elementList, giveElementNeighbourList(), oofem::Domain::giveNumberOfElements(), oofem::IntArray::insertSortedOnce(), oofem::IntArray::resize(), and oofem::IntArray::zero().
Referenced by getElementColor().
| void oofem::ConnectivityTable::buildSharedBoundaryEntities | ( | Domain * | d | ) |
Build list of shared element edges and surfaces.
Definition at line 228 of file connectivitytable.C.
References oofem::IntArray::at(), domain, oofem::Domain::elementList, oofem::IntArray::findSorted(), oofem::Element::giveBoundaryEdgeNodes(), oofem::Element::giveDofManager(), oofem::Domain::giveElement(), giveElementsWithNodes(), oofem::Element::giveNumberOfEdges(), oofem::Domain::giveNumberOfElements(), oofem::IntArray::giveSize(), OOFEM_ERROR, oofem::IntArray::resize(), oofem::Element::setSharedEdgeID(), sharedBoundaryEntities, and oofem::IntArray::sort().
| int oofem::ConnectivityTable::getElementColor | ( | int | e | ) |
Returns element color as determined by coloring algorithm.
Definition at line 219 of file connectivitytable.C.
References oofem::IntArray::at(), buildElementColoring(), elementColoring, and elementColoringFlag.
| SharedBoundaryEntity * oofem::ConnectivityTable::giveBoundaryEntity | ( | int | id | ) |
Access SharedBoundaryEntities.
Definition at line 329 of file connectivitytable.C.
References sharedBoundaryEntities.
| const IntArray * oofem::ConnectivityTable::giveDofManConnectivityArray | ( | int | dofman | ) |
| dofman | DofManger number. |
Definition at line 117 of file connectivitytable.C.
Referenced by oofem::SpatialLocalizer::giveAllElementsWithNodesWithinBox(), oofem::CombinedZZSIRemeshingCriteria::giveDofManDensity(), oofem::HuertaRemeshingCriteria::giveDofManDensity(), oofem::ZZRemeshingCriteria::giveDofManDensity(), giveElementsWithNodes(), oofem::DirectErrorIndicatorRC::giveLocalDofManDensity(), oofem::DirectErrorIndicatorRC::giveLocalDofManIndicator(), oofem::FastMarchingMethod::initialize(), oofem::ParmetisLoadBalancer::labelDofManagers(), oofem::EIPrimaryUnknownMapper::mapAndUpdate(), oofem::REGISTER_EnrichmentFront(), oofem::FreemInterface::smoothNodalDensities(), oofem::FastMarchingMethod::solve(), oofem::HuertaErrorEstimator::solveRefinedPatchProblem(), oofem::LevelSetPCS::updatePosition(), and oofem::FastMarchingMethod::updateTrialValue().
| void oofem::ConnectivityTable::giveElementNeighbourList | ( | IntArray & | answer, |
| const IntArray & | elemList | ||
| ) |
Returns list of neighboring elements to given elements (they are included too).
Neighbor is defined as element sharing the given element node.
| answer | List of neighbors + given elements, every element contained only once. |
| elemList | List of elements, which neighborhood is searched. |
Definition at line 128 of file connectivitytable.C.
References oofem::Element::giveDofManager(), oofem::FEMComponent::giveNumber(), oofem::Element::giveNumberOfDofManagers(), oofem::IntArray::insertSortedOnce(), and oofem::IntArray::resize().
Referenced by oofem::MMALeastSquareProjection::__init(), buildElementColoring(), oofem::Shell7BaseXFEM::computeFailureCriteriaQuantities(), oofem::LEPlic::doCellDLS(), oofem::Shell7Base::giveLayerContributionToSR(), oofem::Subdivision::RS_Triangle::importConnectivity(), oofem::Subdivision::RS_Tetra::importConnectivity(), and oofem::LEPlicElementInterface::isBoundary().
Return list of elements sharing all given nodes.
| answer | List of elements that have all given nodes |
| nodeList | List of nodes |
Definition at line 168 of file connectivitytable.C.
References oofem::IntArray::at(), oofem::IntArray::contains(), oofem::IntArray::erase(), giveDofManConnectivityArray(), oofem::IntArray::giveSize(), and oofem::IntArray::resize().
Referenced by buildSharedBoundaryEntities().
Returns list of elements sharing any given nodes.
| answer | List of elements, every element contained only once. |
| nodeList | List of nodes, which neighborhood is searched. |
Definition at line 150 of file connectivitytable.C.
References oofem::IntArray::at(), oofem::IntArray::giveSize(), oofem::IntArray::insertSortedOnce(), and oofem::IntArray::resize().
Referenced by oofem::Subdivision::RS_Node::buildTopLevelNodeConnectivity(), oofem::MITC4Shell::giveDirectorVectors(), oofem::Subdivision::RS_Node::importConnectivity(), oofem::Subdivision::RS_Triangle::importConnectivity(), oofem::Subdivision::RS_Tetra::importConnectivity(), oofem::PLCZdamageRadius::propagateInterface(), and oofem::XfemManager::updateNodeEnrichmentItemMap().
| void oofem::ConnectivityTable::instanciateConnectivityTable | ( | ) |
Builds connectivity table.
This table contains for each dofManager the list of elements sharing it.
Definition at line 61 of file connectivitytable.C.
References oofem::IntArray::at(), oofem::Element::giveDofManager(), oofem::FEMComponent::giveNumber(), oofem::Element::giveNumberOfDofManagers(), and oofem::IntArray::zero().
| void oofem::ConnectivityTable::reset | ( | ) |
reset receiver to an initial state (will force table update, when needed next time)
Definition at line 54 of file connectivitytable.C.
|
inline |
Definition at line 130 of file connectivitytable.h.
|
private |
Pointer to domain to which receiver belongs to.
Definition at line 96 of file connectivitytable.h.
Referenced by buildElementColoring(), and buildSharedBoundaryEntities().
|
private |
Element colors.
Definition at line 104 of file connectivitytable.h.
Referenced by buildElementColoring(), and getElementColor().
|
private |
flag indicating assembled element coloring
Definition at line 106 of file connectivitytable.h.
Referenced by buildElementColoring(), and getElementColor().
|
private |
Nodal connectivity table for domain.
Definition at line 99 of file connectivitytable.h.
|
private |
Flag indicating assembled connectivity table for domain.
Definition at line 101 of file connectivitytable.h.
|
private |
Definition at line 109 of file connectivitytable.h.
Referenced by buildSharedBoundaryEntities(), and giveBoundaryEntity().