OOFEM
2.4
OOFEM.org - Object Oriented Finite Element Solver
|
#include <subdivision.h>
Public Member Functions | |
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 int | evaluateLongestEdge () |
virtual void | bisect (std::queue< int > &subdivqueue, std::list< int > &sharedIrregularsQueue) |
virtual void | generate (std::list< int > &sharedEdgesQueue) |
virtual void | update_neighbours () |
virtual double | giveDensity () |
virtual double | giveRequiredDensity () |
const IntArray * | giveChildren () |
virtual bool | isNeighborOf (Subdivision::RS_Element *elem)=0 |
const IntArray * | giveNeighbors () |
int | giveNeighbor (int iside) |
void | setNeighbor (int iside, int nb) |
bool | containsNode (int _node) |
virtual void | giveSideNodes (int iside, IntArray &snodes)=0 |
int | giveParent () |
int | giveTopParent () |
bool | giveQueueFlag () |
void | setQueueFlag (bool _qf) |
void | buildTopLevelNodeConnectivity (Subdivision::RS_Node *node) |
virtual void | importConnectivity (ConnectivityTable *ct)=0 |
const IntArray * | giveNodes () |
int | giveNode (int i) |
int | giveNumber () |
void | setNumber (int newNum) |
virtual int | giveEdgeIndex (int iNode, int jNode)=0 |
int | giveLeIndex () |
Returns the longest edge index of the receiver. More... | |
void | setLeIndex (int _n) |
Sets the longest edge index. More... | |
virtual void | drawGeometry () |
int | giveGlobalNumber () |
void | setGlobalNumber (int gn) |
virtual void | numberSharedEdges (int iNode, IntArray &connNodes)=0 |
const IntArray * | giveSharedEdges () |
virtual void | makeSharedEdges ()=0 |
int | giveSharedEdge (int iedge) |
void | setSharedEdge (int iedge, int num) |
elementParallelMode | giveParallelMode () const |
void | setParallelMode (elementParallelMode _mode) |
Protected Attributes | |
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 159 of file subdivision.h.
|
inline |
Definition at line 186 of file subdivision.h.
References oofem::Element_local.
|
inlinevirtual |
Definition at line 198 of file subdivision.h.
|
inlinevirtual |
Reimplemented in oofem::Subdivision::RS_Tetra, and oofem::Subdivision::RS_Triangle.
Definition at line 209 of file subdivision.h.
Referenced by oofem::Subdivision::bisectMesh().
void oofem::Subdivision::RS_Element::buildTopLevelNodeConnectivity | ( | Subdivision::RS_Node * | node | ) |
Definition at line 136 of file subdivision.C.
References buildTopLevelNodeConnectivity(), oofem::Subdivision::RS_Mesh::giveElement(), giveNode(), giveNodes(), oofem::Subdivision::RS_Node::giveNumber(), oofem::IntArray::giveSize(), oofem::Subdivision::RS_Node::insertConnectedElement(), and oofem::Subdivision::RS_Node::mesh.
Referenced by oofem::Subdivision::RS_Node::buildTopLevelNodeConnectivity(), and buildTopLevelNodeConnectivity().
|
inline |
Definition at line 219 of file subdivision.h.
References oofem::IntArray::findFirstIndexOf().
Referenced by oofem::Subdivision::RS_Triangle::importConnectivity(), oofem::Subdivision::RS_Tetra::importConnectivity(), oofem::Subdivision::RS_Triangle::isNeighborOf(), and oofem::Subdivision::RS_Tetra::isNeighborOf().
|
inlinevirtual |
Reimplemented in oofem::Subdivision::RS_Tetra, and oofem::Subdivision::RS_Triangle.
Definition at line 238 of file subdivision.h.
Referenced by oofem::Subdivision::bisectMesh(), and oofem::Subdivision::createMesh().
|
inlinevirtual |
Reimplemented in oofem::Subdivision::RS_Tetra, and oofem::Subdivision::RS_Triangle.
Definition at line 208 of file subdivision.h.
Referenced by oofem::Subdivision::bisectMesh().
|
inlinevirtual |
Reimplemented in oofem::Subdivision::RS_Tetra, and oofem::Subdivision::RS_Triangle.
Definition at line 210 of file subdivision.h.
Referenced by oofem::Subdivision::bisectMesh().
|
inline |
Definition at line 214 of file subdivision.h.
Referenced by oofem::Subdivision::RS_Triangle::update_neighbours(), and oofem::Subdivision::RS_Tetra::update_neighbours().
|
inlinevirtual |
Reimplemented in oofem::Subdivision::RS_Tetra, and oofem::Subdivision::RS_Triangle.
Definition at line 212 of file subdivision.h.
Referenced by oofem::Subdivision::bisectMesh().
|
pure virtual |
Implemented in oofem::Subdivision::RS_Tetra, and oofem::Subdivision::RS_Triangle.
Referenced by oofem::Subdivision::RS_Triangle::bisect(), oofem::Subdivision::RS_Tetra::bisect(), oofem::Subdivision::exchangeSharedEdges(), oofem::Subdivision::RS_Tetra::numberSharedEdges(), oofem::Subdivision::unpackIrregularSharedGlobnums(), oofem::Subdivision::unpackSharedEdges(), and oofem::Subdivision::unpackSharedIrregulars().
|
inline |
Definition at line 240 of file subdivision.h.
Referenced by oofem::Subdivision::RS_Tetra::bisect(), oofem::Subdivision::createMesh(), oofem::Subdivision::RS_Tetra::generate(), and oofem::Subdivision::unpackSharedIrregulars().
|
inline |
Definition at line 205 of file subdivision.h.
References oofem::IntArray::at().
Referenced by oofem::Subdivision::RS_Tetra::bisect(), oofem::Subdivision::RS_Tetra::generate(), and oofem::Subdivision::unpackIrregularSharedGlobnums().
|
inline |
Returns the longest edge index of the receiver.
Definition at line 233 of file subdivision.h.
|
inline |
Definition at line 217 of file subdivision.h.
References oofem::IntArray::at().
Referenced by oofem::Subdivision::RS_Tetra::bisect(), oofem::Subdivision::RS_Triangle::generate(), oofem::Subdivision::RS_Tetra::generate(), and oofem::Subdivision::smoothMesh().
|
inline |
Definition at line 216 of file subdivision.h.
Referenced by oofem::Subdivision::RS_Triangle::generate(), oofem::Subdivision::RS_Tetra::generate(), oofem::Subdivision::smoothMesh(), and oofem::Subdivision::RS_Tetra::update_neighbours().
|
inline |
Definition at line 228 of file subdivision.h.
References oofem::IntArray::at().
Referenced by oofem::Subdivision::RS_Tetra::bisect(), buildTopLevelNodeConnectivity(), and oofem::Subdivision::smoothMesh().
|
inline |
Definition at line 227 of file subdivision.h.
Referenced by buildTopLevelNodeConnectivity(), oofem::Subdivision::createMesh(), oofem::Subdivision::smoothMesh(), and oofem::Subdivision::RS_Tetra::update_neighbours().
|
inline |
Definition at line 229 of file subdivision.h.
Referenced by oofem::Subdivision::RS_Triangle::bisect(), oofem::Subdivision::RS_Tetra::bisect(), oofem::Subdivision::bisectMesh(), oofem::Subdivision::exchangeSharedEdges(), oofem::Subdivision::RS_Triangle::generate(), oofem::Subdivision::RS_Tetra::generate(), oofem::Subdivision::RS_Triangle::giveEdgeIndex(), oofem::Subdivision::RS_Tetra::giveEdgeIndex(), giveTopParent(), oofem::Subdivision::RS_Mesh::sharedNodeGlobal2Local(), oofem::Subdivision::unpackIrregularSharedGlobnums(), oofem::Subdivision::unpackSharedEdges(), and oofem::Subdivision::RS_Tetra::update_neighbours().
|
inline |
Definition at line 249 of file subdivision.h.
Referenced by oofem::Subdivision::bisectMesh(), oofem::Subdivision::RS_Node::buildTopLevelNodeConnectivity(), oofem::Subdivision::createMesh(), oofem::Subdivision::RS_Triangle::generate(), oofem::Subdivision::RS_Tetra::generate(), oofem::Subdivision::RS_Node::importConnectivity(), oofem::Subdivision::RS_Triangle::importConnectivity(), oofem::Subdivision::RS_Tetra::importConnectivity(), and oofem::Subdivision::smoothMesh().
|
inline |
Definition at line 221 of file subdivision.h.
Referenced by giveTopParent().
|
inline |
Definition at line 223 of file subdivision.h.
Referenced by oofem::Subdivision::RS_Triangle::bisect(), oofem::Subdivision::RS_Tetra::bisect(), and oofem::Subdivision::bisectMesh().
|
virtual |
Definition at line 376 of file subdivision.C.
References oofem::Subdivision::RS_Mesh::giveNode(), oofem::Subdivision::RS_Node::giveRequiredDensity(), and oofem::Subdivision::RS_Node::mesh.
Referenced by oofem::Subdivision::bisectMesh().
|
inline |
Definition at line 247 of file subdivision.h.
References oofem::IntArray::at().
Referenced by oofem::Subdivision::unpackIrregularSharedGlobnums(), and oofem::Subdivision::unpackSharedEdges().
|
inline |
|
pure virtual |
Implemented in oofem::Subdivision::RS_Tetra, and oofem::Subdivision::RS_Triangle.
Referenced by oofem::Subdivision::smoothMesh(), and oofem::Subdivision::RS_Tetra::update_neighbours().
int oofem::Subdivision::RS_Element::giveTopParent | ( | ) |
Definition at line 389 of file subdivision.C.
References oofem::Subdivision::RS_Mesh::giveElement(), giveNumber(), giveParent(), and oofem::Subdivision::RS_Node::mesh.
Referenced by oofem::Subdivision::RS_Triangle::bisect(), oofem::Subdivision::RS_Tetra::bisect(), oofem::Subdivision::createMesh(), and oofem::Subdivision::smoothMesh().
|
inline |
Returns true if element has some irregular nodes.
Definition at line 201 of file subdivision.h.
References oofem::IntArray::containsOnlyZeroes().
Referenced by oofem::Subdivision::RS_Triangle::generate(), oofem::Subdivision::RS_Tetra::generate(), oofem::Subdivision::RS_Triangle::update_neighbours(), and oofem::Subdivision::RS_Tetra::update_neighbours().
|
pure virtual |
Implemented in oofem::Subdivision::RS_Tetra, and oofem::Subdivision::RS_Triangle.
Referenced by oofem::Subdivision::createMesh().
|
pure virtual |
Implemented in oofem::Subdivision::RS_Tetra, and oofem::Subdivision::RS_Triangle.
|
inline |
Returns true if receiver is terminal (not further subdivided)
Definition at line 203 of file subdivision.h.
References oofem::IntArray::isEmpty().
Referenced by oofem::Subdivision::bisectMesh(), oofem::Subdivision::createMesh(), oofem::Subdivision::smoothMesh(), and oofem::Subdivision::RS_Tetra::update_neighbours().
|
pure virtual |
Implemented in oofem::Subdivision::RS_Tetra, and oofem::Subdivision::RS_Triangle.
Referenced by oofem::Subdivision::RS_Tetra::numberSharedEdges().
|
pure virtual |
Implemented in oofem::Subdivision::RS_Tetra, and oofem::Subdivision::RS_Triangle.
|
inline |
Definition at line 241 of file subdivision.h.
Referenced by oofem::Subdivision::createMesh().
|
inline |
Definition at line 206 of file subdivision.h.
References oofem::IntArray::at().
Referenced by oofem::Subdivision::RS_Triangle::bisect(), oofem::Subdivision::RS_Tetra::bisect(), and oofem::Subdivision::RS_Tetra::generate().
|
inline |
Sets the longest edge index.
Definition at line 235 of file subdivision.h.
Referenced by oofem::Subdivision::RS_Tetra::generate().
|
inline |
Definition at line 218 of file subdivision.h.
References oofem::IntArray::at().
Referenced by oofem::Subdivision::RS_Triangle::generate(), and oofem::Subdivision::RS_Tetra::generate().
|
inline |
Definition at line 230 of file subdivision.h.
|
inline |
Definition at line 251 of file subdivision.h.
Referenced by oofem::Subdivision::createMesh().
|
inline |
Definition at line 224 of file subdivision.h.
Referenced by oofem::Subdivision::RS_Triangle::bisect(), oofem::Subdivision::RS_Tetra::bisect(), and oofem::Subdivision::bisectMesh().
|
inline |
Definition at line 248 of file subdivision.h.
References oofem::IntArray::at().
Referenced by oofem::Subdivision::exchangeSharedEdges(), oofem::Subdivision::RS_Triangle::generate(), oofem::Subdivision::RS_Tetra::generate(), and oofem::Subdivision::RS_Tetra::numberSharedEdges().
|
inlinevirtual |
Reimplemented in oofem::Subdivision::RS_Tetra, and oofem::Subdivision::RS_Triangle.
Definition at line 211 of file subdivision.h.
Referenced by oofem::Subdivision::bisectMesh().
|
protected |
Definition at line 170 of file subdivision.h.
Referenced by oofem::Subdivision::RS_Triangle::generate(), and oofem::Subdivision::RS_Tetra::generate().
|
protected |
Definition at line 179 of file subdivision.h.
|
protected |
Definition at line 168 of file subdivision.h.
Referenced by oofem::Subdivision::RS_Triangle::bisect(), oofem::Subdivision::RS_Tetra::bisect(), oofem::Subdivision::RS_Triangle::generate(), oofem::Subdivision::RS_Tetra::generate(), oofem::Subdivision::RS_Tetra::RS_Tetra(), and oofem::Subdivision::RS_Triangle::RS_Triangle().
|
protected |
Definition at line 174 of file subdivision.h.
Referenced by oofem::Subdivision::RS_Triangle::bisect(), oofem::Subdivision::RS_Tetra::bisect(), oofem::Subdivision::RS_Triangle::evaluateLongestEdge(), oofem::Subdivision::RS_Tetra::evaluateLongestEdge(), oofem::Subdivision::RS_Triangle::generate(), and oofem::Subdivision::RS_Tetra::generate().
|
protected |
Definition at line 176 of file subdivision.h.
Referenced by oofem::Subdivision::RS_Triangle::bisect(), oofem::Subdivision::RS_Tetra::bisect(), oofem::Subdivision::bisectMesh(), oofem::Subdivision::createMesh(), oofem::Subdivision::RS_Triangle::drawGeometry(), oofem::Subdivision::RS_Tetra::drawGeometry(), oofem::Subdivision::RS_Triangle::evaluateLongestEdge(), oofem::Subdivision::RS_Tetra::evaluateLongestEdge(), oofem::Subdivision::exchangeSharedEdges(), oofem::Subdivision::RS_Triangle::generate(), oofem::Subdivision::RS_Tetra::generate(), oofem::Subdivision::RS_Triangle::giveDensity(), oofem::Subdivision::RS_Tetra::giveDensity(), oofem::Subdivision::RS_Triangle::importConnectivity(), oofem::Subdivision::RS_Tetra::importConnectivity(), oofem::Subdivision::packIrregularSharedGlobnums(), oofem::Subdivision::packSharedEdges(), oofem::Subdivision::packSharedIrregulars(), oofem::Subdivision::smoothMesh(), oofem::Subdivision::unpackIrregularSharedGlobnums(), oofem::Subdivision::unpackSharedEdges(), oofem::Subdivision::unpackSharedIrregulars(), oofem::Subdivision::RS_Triangle::update_neighbours(), and oofem::Subdivision::RS_Tetra::update_neighbours().
|
protected |
Definition at line 166 of file subdivision.h.
Referenced by oofem::Subdivision::RS_Triangle::bisect(), oofem::Subdivision::RS_Tetra::bisect(), oofem::Subdivision::RS_Triangle::generate(), oofem::Subdivision::RS_Tetra::generate(), oofem::Subdivision::RS_Triangle::importConnectivity(), oofem::Subdivision::RS_Tetra::importConnectivity(), oofem::Subdivision::RS_Tetra::RS_Tetra(), oofem::Subdivision::RS_Triangle::RS_Triangle(), oofem::Subdivision::RS_Triangle::update_neighbours(), and oofem::Subdivision::RS_Tetra::update_neighbours().
|
protected |
Definition at line 164 of file subdivision.h.
Referenced by oofem::Subdivision::RS_Triangle::bisect(), oofem::Subdivision::RS_Tetra::bisect(), oofem::Subdivision::createMesh(), oofem::Subdivision::RS_Triangle::drawGeometry(), oofem::Subdivision::RS_Tetra::drawGeometry(), oofem::Subdivision::RS_Triangle::evaluateLongestEdge(), oofem::Subdivision::RS_Tetra::evaluateLongestEdge(), oofem::Subdivision::RS_Triangle::generate(), oofem::Subdivision::RS_Tetra::generate(), oofem::Subdivision::RS_Triangle::giveDensity(), oofem::Subdivision::RS_Tetra::giveDensity(), oofem::Subdivision::RS_Triangle::giveEdgeIndex(), oofem::Subdivision::RS_Tetra::giveEdgeIndex(), oofem::Subdivision::RS_Triangle::giveSideNodes(), oofem::Subdivision::RS_Tetra::giveSideNodes(), oofem::Subdivision::RS_Triangle::importConnectivity(), oofem::Subdivision::RS_Tetra::importConnectivity(), oofem::Subdivision::RS_Triangle::isNeighborOf(), and oofem::Subdivision::RS_Tetra::isNeighborOf().
|
protected |
Definition at line 162 of file subdivision.h.
Referenced by oofem::Subdivision::RS_Triangle::bisect(), oofem::Subdivision::RS_Tetra::bisect(), oofem::Subdivision::RS_Node::drawGeometry(), oofem::Subdivision::RS_Triangle::generate(), oofem::Subdivision::RS_Tetra::generate(), oofem::Subdivision::RS_Triangle::importConnectivity(), oofem::Subdivision::RS_Tetra::importConnectivity(), oofem::Subdivision::smoothMesh(), oofem::Subdivision::RS_Triangle::update_neighbours(), and oofem::Subdivision::RS_Tetra::update_neighbours().
|
protected |
Definition at line 181 of file subdivision.h.
|
protected |
Definition at line 172 of file subdivision.h.
Referenced by oofem::Subdivision::createMesh().
|
protected |
Definition at line 178 of file subdivision.h.
Referenced by oofem::Subdivision::RS_Triangle::generate(), and oofem::Subdivision::RS_Tetra::generate().
|
protected |
Definition at line 183 of file subdivision.h.
Referenced by oofem::Subdivision::RS_Triangle::bisect(), oofem::Subdivision::RS_Tetra::bisect(), oofem::Subdivision::RS_Triangle::generate(), and oofem::Subdivision::RS_Tetra::generate().