|
OOFEM 3.0
|
#include <connectivitytable.h>
Public Member Functions | |
| ConnectivityTable (Domain *d) | |
| ~ConnectivityTable () | |
| Destructor. | |
| void | reset () |
| reset receiver to an initial state (will force table update, when needed next time) | |
| void | setDomain (Domain *ipDomain) |
| void | instanciateConnectivityTable () |
| const IntArray * | giveDofManConnectivityArray (int dofman) |
| void | giveElementNeighbourList (IntArray &answer, const IntArray &elemList) |
| void | giveNodeNeighbourList (IntArray &answer, IntArray &nodeList) |
| void | giveElementsWithNodes (IntArray &answer, const IntArray &nodes) |
| void | buildElementColoring () |
| int | getElementColor (int e) |
| void | buildSharedBoundaryEntities (Domain *d) |
| SharedBoundaryEntity * | giveBoundaryEntity (int id) |
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.
References domain, elementColoring, elementColoringFlag, nodalConnectivity, and nodalConnectivityFlag.
|
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 domain, elementColoring, elementColoringFlag, and giveElementNeighbourList().
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::IntArray::findSorted(), giveElementsWithNodes(), oofem::IntArray::giveSize(), OOFEM_ERROR, oofem::IntArray::resize(), sharedBoundaryEntities, and oofem::IntArray::sort().
Referenced by oofem::StationaryMPMSProblem::postInitialize(), and oofem::TestProblem::postInitialize().
| int oofem::ConnectivityTable::getElementColor | ( | int | e | ) |
Returns element color as determined by coloring algorithm
Definition at line 219 of file connectivitytable.C.
References buildElementColoring(), elementColoring, and elementColoringFlag.
| SharedBoundaryEntity * oofem::ConnectivityTable::giveBoundaryEntity | ( | int | id | ) |
Access SharedBoundaryEntities
Definition at line 329 of file connectivitytable.C.
References sharedBoundaryEntities.
Referenced by oofem::QuadraticInterpolation::initializeCell().
| const IntArray * oofem::ConnectivityTable::giveDofManConnectivityArray | ( | int | dofman | ) |
| dofman | DofManger number. |
Definition at line 117 of file connectivitytable.C.
References instanciateConnectivityTable(), nodalConnectivity, and nodalConnectivityFlag.
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::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 domain, oofem::Element::giveDofManager(), oofem::FEMComponent::giveNumber(), oofem::Element::giveNumberOfDofManagers(), oofem::IntArray::insertSortedOnce(), instanciateConnectivityTable(), nodalConnectivity, nodalConnectivityFlag, and oofem::IntArray::resize().
Referenced by oofem::MMALeastSquareProjection::__init(), buildElementColoring(), oofem::Shell7BaseXFEM::computeFailureCriteriaQuantities(), oofem::LEPlic::doCellDLS(), oofem::Shell7Base::giveLayerContributionToSR(), oofem::Subdivision::RS_Tetra::importConnectivity(), oofem::Subdivision::RS_Triangle::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(), and oofem::DGProblem::constructBoundaryEntities().
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(), instanciateConnectivityTable(), nodalConnectivity, nodalConnectivityFlag, and oofem::IntArray::resize().
Referenced by oofem::Subdivision::RS_Node::buildTopLevelNodeConnectivity(), oofem::MITC4Shell::giveDirectorVectors(), oofem::Subdivision::RS_Node::importConnectivity(), oofem::Subdivision::RS_Tetra::importConnectivity(), oofem::Subdivision::RS_Triangle::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(), domain, oofem::Element::giveDofManager(), oofem::FEMComponent::giveNumber(), oofem::Element::giveNumberOfDofManagers(), nodalConnectivity, nodalConnectivityFlag, and oofem::IntArray::zero().
Referenced by giveDofManConnectivityArray(), giveElementNeighbourList(), and giveNodeNeighbourList().
| 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.
References elementColoringFlag, and nodalConnectivityFlag.
Referenced by oofem::AdditiveManufacturingProblem::solveYourself().
|
inline |
Definition at line 130 of file connectivitytable.h.
References domain.
|
private |
Pointer to domain to which receiver belongs to.
Definition at line 96 of file connectivitytable.h.
Referenced by buildElementColoring(), buildSharedBoundaryEntities(), ConnectivityTable(), giveElementNeighbourList(), instanciateConnectivityTable(), and setDomain().
|
private |
Element colors.
Definition at line 104 of file connectivitytable.h.
Referenced by buildElementColoring(), ConnectivityTable(), and getElementColor().
|
private |
flag indicating assembled element coloring
Definition at line 106 of file connectivitytable.h.
Referenced by buildElementColoring(), ConnectivityTable(), getElementColor(), and reset().
|
private |
Nodal connectivity table for domain.
Definition at line 99 of file connectivitytable.h.
Referenced by ConnectivityTable(), giveDofManConnectivityArray(), giveElementNeighbourList(), giveNodeNeighbourList(), and instanciateConnectivityTable().
|
private |
Flag indicating assembled connectivity table for domain.
Definition at line 101 of file connectivitytable.h.
Referenced by ConnectivityTable(), giveDofManConnectivityArray(), giveElementNeighbourList(), giveNodeNeighbourList(), instanciateConnectivityTable(), and reset().
|
private |
Definition at line 109 of file connectivitytable.h.
Referenced by buildSharedBoundaryEntities(), and giveBoundaryEntity().