|
OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
#include <subdivision.h>
Inheritance diagram for oofem::Subdivision::RS_Tetra:
Collaboration diagram for oofem::Subdivision::RS_Tetra:Public Member Functions | |
| RS_Tetra (int number, Subdivision::RS_Mesh *mesh, int parent, IntArray &nodes) | |
| int | evaluateLongestEdge () |
| void | bisect (std::queue< int > &subdivqueue, std::list< int > &sharedIrregularsQueue) |
| void | generate (std::list< int > &sharedEdgesQueue) |
| void | update_neighbours () |
| double | giveDensity () |
| bool | isNeighborOf (Subdivision::RS_Element *elem) |
| void | giveSideNodes (int iside, IntArray &snodes) |
| int | giveEdgeIndex (int iNode, int jNode) |
| virtual void | importConnectivity (ConnectivityTable *ct) |
| void | drawGeometry () |
| void | numberSharedEdges (int iNode, IntArray &connNodes) |
| void | makeSharedEdges () |
Public Member Functions inherited from oofem::Subdivision::RS_Element | |
| RS_Element (int number, Subdivision::RS_Mesh *m, int parent, IntArray &nodes) | |
| virtual | ~RS_Element () |
| bool | hasIrregulars () |
| Returns true if element has some irregular nodes. More... | |
| bool | isTerminal () |
| Returns true if receiver is terminal (not further subdivided) More... | |
| int | giveIrregular (int iedge) |
| void | setIrregular (int iedge, int ir) |
| virtual double | giveRequiredDensity () |
| const IntArray * | giveChildren () |
| const IntArray * | giveNeighbors () |
| int | giveNeighbor (int iside) |
| void | setNeighbor (int iside, int nb) |
| bool | containsNode (int _node) |
| int | giveParent () |
| int | giveTopParent () |
| bool | giveQueueFlag () |
| void | setQueueFlag (bool _qf) |
| void | buildTopLevelNodeConnectivity (Subdivision::RS_Node *node) |
| const IntArray * | giveNodes () |
| int | giveNode (int i) |
| int | giveNumber () |
| void | setNumber (int newNum) |
| int | giveLeIndex () |
| Returns the longest edge index of the receiver. More... | |
| void | setLeIndex (int _n) |
| Sets the longest edge index. More... | |
| int | giveGlobalNumber () |
| void | setGlobalNumber (int gn) |
| const IntArray * | giveSharedEdges () |
| int | giveSharedEdge (int iedge) |
| void | setSharedEdge (int iedge, int num) |
| elementParallelMode | giveParallelMode () const |
| void | setParallelMode (elementParallelMode _mode) |
Protected Attributes | |
| IntArray | side_leIndex |
Protected Attributes inherited from oofem::Subdivision::RS_Element | |
| int | number |
| IntArray | nodes |
| IntArray | neghbours_base_elements |
| IntArray | irregular_nodes |
| IntArray | children |
| int | parent |
| int | leIndex |
| RS_Mesh * | mesh |
| bool | queue_flag |
| int | globalNumber |
| elementParallelMode | parallel_mode |
| IntArray | shared_edges |
Definition at line 280 of file subdivision.h.
| oofem::Subdivision::RS_Tetra::RS_Tetra | ( | int | number, |
| Subdivision::RS_Mesh * | mesh, | ||
| int | parent, | ||
| IntArray & | nodes | ||
| ) |
Definition at line 417 of file subdivision.C.
References oofem::IntArray::findFirstIndexOf(), oofem::Subdivision::RS_Element::irregular_nodes, oofem::Subdivision::RS_Element::neghbours_base_elements, OOFEM_ERROR, oofem::IntArray::resize(), side_leIndex, and oofem::IntArray::zero().
|
virtual |
Reimplemented from oofem::Subdivision::RS_Element.
Definition at line 789 of file subdivision.C.
References oofem::FloatArray::add(), oofem::Subdivision::RS_Mesh::addNode(), oofem::IntArray::at(), oofem::FloatArray::at(), oofem::Subdivision::RS_Node::buildTopLevelNodeConnectivity(), oofem::DofManager_shared, oofem::Subdivision::RS_Node::drawGeometry(), oofem::IntArray::findCommonValuesSorted(), oofem::Subdivision::RS_Node::giveConnectedElements(), oofem::Domain::giveConnectivityTable(), oofem::Subdivision::RS_Node::giveCoordinates(), oofem::Subdivision::giveDomain(), oofem::Subdivision::RS_Mesh::giveEdge(), oofem::Subdivision::RS_Element::giveEdgeIndex(), oofem::Domain::giveElement(), oofem::Subdivision::RS_Mesh::giveElement(), oofem::Subdivision::RS_Node::giveGlobalNumber(), oofem::Subdivision::RS_Element::giveGlobalNumber(), oofem::Subdivision::RS_Element::giveIrregular(), oofem::Subdivision::RS_Element::giveNeighbor(), oofem::Subdivision::RS_Element::giveNode(), oofem::Subdivision::RS_Mesh::giveNode(), oofem::Subdivision::RS_Element::giveNumber(), oofem::Subdivision::RS_Mesh::giveNumberOfNodes(), oofem::Subdivision::RS_SharedEdge::givePartitions(), oofem::Subdivision::RS_Element::giveQueueFlag(), oofem::Subdivision::giveRank(), oofem::Element::giveRegionNumber(), oofem::Subdivision::RS_Node::giveRequiredDensity(), oofem::Subdivision::RS_Element::giveSharedEdges(), oofem::IntArray::giveSize(), oofem::Subdivision::RS_Mesh::giveSubdivision(), oofem::Subdivision::RS_Element::giveTopParent(), oofem::Subdivision::RS_Element::irregular_nodes, oofem::Subdivision::RS_Node::isBoundary(), oofem::Subdivision::RS_Element::leIndex, oofem::Subdivision::RS_Element::mesh, oofem::Subdivision::RS_Element::neghbours_base_elements, oofem::Subdivision::RS_Element::nodes, oofem::Subdivision::RS_Element::number, OOFEM_ERROR, OOFEM_LOG_INFO, oofem::IntArray::preallocate(), oofem::Subdivision::RS_Node::preallocateConnectedElements(), oofem::Subdivision::RS_Node::setBoundary(), oofem::Subdivision::RS_IrregularNode::setEdgeNodes(), oofem::Subdivision::RS_Element::setIrregular(), oofem::Subdivision::RS_Node::setNumber(), oofem::Subdivision::RS_Node::setParallelMode(), oofem::Subdivision::RS_Node::setPartitions(), oofem::Subdivision::RS_Element::setQueueFlag(), oofem::Subdivision::RS_Element::shared_edges, side_leIndex, and oofem::FloatArray::times().
|
virtual |
Reimplemented from oofem::Subdivision::RS_Element.
Definition at line 3353 of file subdivision.C.
References oofem::IntArray::at(), oofem::Subdivision::RS_Mesh::giveNode(), oofem::Subdivision::RS_Element::mesh, oofem::Subdivision::RS_Element::nodes, OOFEG_RAW_GEOMETRY_LAYER, and OOFEG_RAW_GEOMETRY_WIDTH.
|
virtual |
Reimplemented from oofem::Subdivision::RS_Element.
Definition at line 462 of file subdivision.C.
References oofem::IntArray::at(), oofem::FloatArray::distance_square(), oofem::Subdivision::RS_Node::giveCoordinates(), oofem::Subdivision::RS_Node::giveGlobalNumber(), oofem::Subdivision::RS_Mesh::giveNode(), oofem::Subdivision::RS_Element::leIndex, oofem::Subdivision::RS_Element::mesh, oofem::Subdivision::RS_Element::nodes, and side_leIndex.
|
virtual |
Reimplemented from oofem::Subdivision::RS_Element.
Definition at line 1805 of file subdivision.C.
References oofem::Subdivision::RS_Mesh::addEdge(), oofem::Subdivision::RS_Mesh::addElement(), oofem::IntArray::at(), oofem::Subdivision::RS_Element::children, oofem::IntArray::clear(), oofem::IntArray::containsOnlyZeroes(), oofem::DofManager_shared, oofem::IntArray::findFirstIndexOf(), oofem::Subdivision::RS_Mesh::giveElement(), oofem::Subdivision::RS_Element::giveGlobalNumber(), oofem::Subdivision::RS_Element::giveIrregular(), oofem::Subdivision::RS_Element::giveNeighbor(), oofem::Subdivision::RS_Element::giveNeighbors(), oofem::Subdivision::RS_Mesh::giveNode(), oofem::Subdivision::RS_Element::giveNumber(), oofem::Subdivision::RS_Mesh::giveNumberOfEdges(), oofem::Subdivision::RS_Mesh::giveNumberOfElements(), oofem::Subdivision::RS_Element::giveParallelMode(), oofem::Subdivision::giveRank(), oofem::Subdivision::RS_SharedEdge::giveSharedPartitions(), oofem::IntArray::giveSize(), oofem::Subdivision::RS_Mesh::giveSubdivision(), oofem::Subdivision::RS_Element::hasIrregulars(), oofem::Subdivision::RS_Element::irregular_nodes, oofem::Subdivision::RS_Element::leIndex, makeSharedEdges(), oofem::Subdivision::RS_Element::mesh, oofem::Subdivision::RS_Element::neghbours_base_elements, oofem::Subdivision::RS_Element::nodes, oofem::Subdivision::RS_Element::number, OOFEM_ERROR, OOFEM_LOG_INFO, oofem::Subdivision::RS_Element::queue_flag, oofem::IntArray::resize(), oofem::Subdivision::RS_SharedEdge::setEdgeNodes(), oofem::Subdivision::RS_Element::setIrregular(), oofem::Subdivision::RS_Element::setLeIndex(), oofem::Subdivision::RS_Element::setNeighbor(), oofem::Subdivision::RS_SharedEdge::setPartitions(), oofem::Subdivision::RS_Element::setSharedEdge(), oofem::Subdivision::RS_Element::shared_edges, and side_leIndex.
|
virtual |
Reimplemented from oofem::Subdivision::RS_Element.
Definition at line 2980 of file subdivision.C.
References oofem::IntArray::at(), oofem::Subdivision::RS_Mesh::giveNode(), oofem::Subdivision::RS_Element::mesh, and oofem::Subdivision::RS_Element::nodes.
|
virtual |
Implements oofem::Subdivision::RS_Element.
Definition at line 614 of file subdivision.C.
References oofem::IntArray::at(), oofem::Subdivision::RS_Element::giveNumber(), oofem::Subdivision::RS_Element::nodes, and OOFEM_ERROR.
|
virtual |
Implements oofem::Subdivision::RS_Element.
Definition at line 2941 of file subdivision.C.
References oofem::IntArray::at(), oofem::Subdivision::RS_Element::nodes, and oofem::IntArray::resize().
Referenced by update_neighbours().
|
virtual |
Implements oofem::Subdivision::RS_Element.
Definition at line 3128 of file subdivision.C.
References oofem::IntArray::at(), oofem::Subdivision::RS_Element::containsNode(), oofem::Element_local, oofem::Subdivision::RS_Mesh::giveElement(), oofem::ConnectivityTable::giveElementNeighbourList(), oofem::ConnectivityTable::giveNodeNeighbourList(), oofem::Subdivision::RS_Element::giveParallelMode(), oofem::IntArray::giveSize(), oofem::Subdivision::RS_Element::mesh, oofem::Subdivision::RS_Element::neghbours_base_elements, oofem::Subdivision::RS_Element::nodes, oofem::Subdivision::RS_Element::number, oofem::IntArray::resize(), and oofem::IntArray::zero().
|
virtual |
Implements oofem::Subdivision::RS_Element.
Definition at line 2914 of file subdivision.C.
References oofem::IntArray::at(), oofem::Subdivision::RS_Element::containsNode(), and oofem::Subdivision::RS_Element::nodes.
Referenced by oofem::Subdivision::RS_Triangle::update_neighbours(), and update_neighbours().
|
inlinevirtual |
Implements oofem::Subdivision::RS_Element.
Definition at line 300 of file subdivision.h.
Referenced by generate().
|
virtual |
Implements oofem::Subdivision::RS_Element.
Definition at line 256 of file subdivision.C.
References oofem::Subdivision::RS_Mesh::addEdge(), oofem::IntArray::at(), oofem::IntArray::contains(), oofem::DofManager_shared, oofem::IntArray::findCommonValuesSorted(), oofem::IntArray::followedBy(), oofem::Subdivision::RS_Node::giveConnectedElements(), oofem::Subdivision::RS_Element::giveEdgeIndex(), oofem::Subdivision::RS_Mesh::giveElement(), oofem::Subdivision::RS_Mesh::giveNode(), oofem::Subdivision::RS_Mesh::giveNumberOfEdges(), oofem::Subdivision::RS_Node::giveParallelMode(), oofem::Subdivision::RS_Element::giveSharedEdges(), oofem::Subdivision::RS_SharedEdge::giveSharedPartitions(), oofem::IntArray::giveSize(), oofem::Subdivision::RS_Element::makeSharedEdges(), oofem::Subdivision::RS_Node::mesh, OOFEM_ERROR, oofem::Subdivision::RS_Node::partitions, oofem::IntArray::preallocate(), oofem::Subdivision::RS_SharedEdge::setEdgeNodes(), oofem::Subdivision::RS_SharedEdge::setPartitions(), and oofem::Subdivision::RS_Element::setSharedEdge().
|
virtual |
Reimplemented from oofem::Subdivision::RS_Element.
Definition at line 2760 of file subdivision.C.
References oofem::IntArray::at(), oofem::IntArray::findFirstIndexOf(), oofem::Subdivision::RS_Element::giveChildren(), oofem::Subdivision::RS_Mesh::giveElement(), oofem::Subdivision::RS_Element::giveNeighbors(), oofem::Subdivision::RS_Element::giveNodes(), oofem::Subdivision::RS_Element::giveNumber(), oofem::Subdivision::RS_Element::giveSideNodes(), giveSideNodes(), oofem::IntArray::giveSize(), oofem::Subdivision::RS_Element::hasIrregulars(), isNeighborOf(), oofem::Subdivision::RS_Element::isTerminal(), oofem::Subdivision::RS_Element::mesh, oofem::Subdivision::RS_Element::neghbours_base_elements, oofem::Subdivision::RS_Element::number, and OOFEM_ERROR.
|
protected |
Definition at line 283 of file subdivision.h.
Referenced by bisect(), evaluateLongestEdge(), generate(), and RS_Tetra().