OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
oofem::Subdivision::RS_Element Class Referenceabstract

#include <subdivision.h>

+ Inheritance diagram for oofem::Subdivision::RS_Element:
+ Collaboration diagram for oofem::Subdivision::RS_Element:

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 IntArraygiveChildren ()
 
virtual bool isNeighborOf (Subdivision::RS_Element *elem)=0
 
const IntArraygiveNeighbors ()
 
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 IntArraygiveNodes ()
 
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 IntArraygiveSharedEdges ()
 
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_Meshmesh
 
bool queue_flag
 
int globalNumber
 
elementParallelMode parallel_mode
 
IntArray shared_edges
 

Detailed Description

Definition at line 159 of file subdivision.h.

Constructor & Destructor Documentation

oofem::Subdivision::RS_Element::RS_Element ( int  number,
Subdivision::RS_Mesh m,
int  parent,
IntArray nodes 
)
inline

Definition at line 186 of file subdivision.h.

References oofem::Element_local.

virtual oofem::Subdivision::RS_Element::~RS_Element ( )
inlinevirtual

Definition at line 198 of file subdivision.h.

Member Function Documentation

virtual void oofem::Subdivision::RS_Element::bisect ( std::queue< int > &  subdivqueue,
std::list< int > &  sharedIrregularsQueue 
)
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().

virtual void oofem::Subdivision::RS_Element::drawGeometry ( )
inlinevirtual
virtual int oofem::Subdivision::RS_Element::evaluateLongestEdge ( )
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().

virtual void oofem::Subdivision::RS_Element::generate ( std::list< int > &  sharedEdgesQueue)
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().

const IntArray* oofem::Subdivision::RS_Element::giveChildren ( )
inline
virtual double oofem::Subdivision::RS_Element::giveDensity ( )
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().

int oofem::Subdivision::RS_Element::giveGlobalNumber ( )
inline
int oofem::Subdivision::RS_Element::giveIrregular ( int  iedge)
inline
int oofem::Subdivision::RS_Element::giveLeIndex ( )
inline

Returns the longest edge index of the receiver.

Definition at line 233 of file subdivision.h.

int oofem::Subdivision::RS_Element::giveNeighbor ( int  iside)
inline
int oofem::Subdivision::RS_Element::giveNode ( int  i)
inline
const IntArray* oofem::Subdivision::RS_Element::giveNodes ( )
inline
int oofem::Subdivision::RS_Element::giveParent ( )
inline

Definition at line 221 of file subdivision.h.

Referenced by giveTopParent().

bool oofem::Subdivision::RS_Element::giveQueueFlag ( )
inline
double oofem::Subdivision::RS_Element::giveRequiredDensity ( )
virtual
int oofem::Subdivision::RS_Element::giveSharedEdge ( int  iedge)
inline
virtual void oofem::Subdivision::RS_Element::giveSideNodes ( int  iside,
IntArray snodes 
)
pure virtual
bool oofem::Subdivision::RS_Element::hasIrregulars ( )
inline
virtual void oofem::Subdivision::RS_Element::importConnectivity ( ConnectivityTable ct)
pure virtual
virtual bool oofem::Subdivision::RS_Element::isNeighborOf ( Subdivision::RS_Element elem)
pure virtual
bool oofem::Subdivision::RS_Element::isTerminal ( )
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().

virtual void oofem::Subdivision::RS_Element::makeSharedEdges ( )
pure virtual
virtual void oofem::Subdivision::RS_Element::numberSharedEdges ( int  iNode,
IntArray connNodes 
)
pure virtual
void oofem::Subdivision::RS_Element::setGlobalNumber ( int  gn)
inline

Definition at line 241 of file subdivision.h.

Referenced by oofem::Subdivision::createMesh().

void oofem::Subdivision::RS_Element::setIrregular ( int  iedge,
int  ir 
)
inline
void oofem::Subdivision::RS_Element::setLeIndex ( int  _n)
inline

Sets the longest edge index.

Definition at line 235 of file subdivision.h.

Referenced by oofem::Subdivision::RS_Tetra::generate().

void oofem::Subdivision::RS_Element::setNeighbor ( int  iside,
int  nb 
)
inline
void oofem::Subdivision::RS_Element::setNumber ( int  newNum)
inline

Definition at line 230 of file subdivision.h.

void oofem::Subdivision::RS_Element::setParallelMode ( elementParallelMode  _mode)
inline

Definition at line 251 of file subdivision.h.

Referenced by oofem::Subdivision::createMesh().

void oofem::Subdivision::RS_Element::setQueueFlag ( bool  _qf)
inline
void oofem::Subdivision::RS_Element::setSharedEdge ( int  iedge,
int  num 
)
inline
virtual void oofem::Subdivision::RS_Element::update_neighbours ( )
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().

Member Data Documentation

IntArray oofem::Subdivision::RS_Element::children
protected
int oofem::Subdivision::RS_Element::globalNumber
protected

Definition at line 179 of file subdivision.h.

elementParallelMode oofem::Subdivision::RS_Element::parallel_mode
protected

Definition at line 181 of file subdivision.h.

int oofem::Subdivision::RS_Element::parent
protected

Definition at line 172 of file subdivision.h.

Referenced by oofem::Subdivision::createMesh().

bool oofem::Subdivision::RS_Element::queue_flag
protected

The documentation for this class was generated from the following files:

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Tue Jan 2 2018 20:07:42 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011