ParMooN
 All Classes Functions Variables Friends Pages
Public Member Functions | Protected Attributes | List of all members
TBaseCell Class Referenceabstract

information for finite element data structure More...

#include <BaseCell.h>

Inheritance diagram for TBaseCell:
Inheritance graph
[legend]
Collaboration diagram for TBaseCell:
Collaboration graph
[legend]

Public Member Functions

 TBaseCell (TRefDesc *refdesc)
 
int SetRefDesc (TRefDesc *newrefdesc)
 set refinement descriptor to newrefdesc
 
TRefDescGetRefDesc () const
 return refinement descriptor
 
TShapeDescGetShapeDesc () const
 return shape descriptor of refinement descriptor
 
Shapes GetType () const
 return shape type of refinement descriptor
 
Refinements GetEdgeRef (int i) const
 return refinement descriptor of edge i
 
Refinements GetFaceRef (int i)
 return refinement descriptor of face i
 
int SetEdge (int E_i, TEdge *E)
 set the pointer to edge E_i to E
 
TEdgeGetEdge (int E_i)
 return the pointer to edge with number E_i
 
virtual int SetVertex (int Vert_i, TVertex *Vert)=0
 set the pointer of vertex Vert_i to Vert
 
virtual TVertexGetVertex (int Vert_i)=0
 return the pointer to vertex with number i
 
int SetJoint (int J_i, TJoint *J)
 set the pointer to face J_i to J
 
TJointGetJoint (int J_i)
 return the pointer to face with number i
 
int GetN_Vertices ()
 return the number of vertices of the cell
 
int GetN_Edges ()
 return the number of edges of the cell
 
int GetN_Joints ()
 return the number of joints
 
int GetN_Faces ()
 return the number of faces of the cell
 
virtual int GetN_Children ()=0
 return the number of children of the cell
 
virtual int GetN_Parents ()=0
 return the number of parents of the cell
 
virtual TBaseCellGetChild (int C_i)=0
 return the child with the number C_i
 
virtual TBaseCellGetParent ()=0
 return the parent cell
 
virtual int SetParent (TBaseCell *parent)=0
 set the parent to parent
 
virtual int GetChildNumber (TBaseCell *Me)=0
 return the child number of cell Me
 
virtual int Draw (std::ofstream &dat, double scale, double StartX, double StartY)=0
 write boundary and interface joints to stream dat
 
virtual int PS (std::ofstream &dat, double scale, double StartX, double StartY)=0
 write the postscript cell data to stream dat
 
virtual int MD_raw (std::ofstream &dat)=0
 write cell data according to MD format in stream dat
 
virtual int Refine (int RefLevel)=0
 refine the current cell on level RefLevel according actual refinement descriptor
 
virtual int RefineMortar (int RefLevel)=0
 refine a mortar cell
 
virtual int Derefine ()=0
 derefine the current cell, remove the children
 
virtual int RefDeref ()=0
 make refinement or derefinement according to cell's clipboard
 
virtual int Gen1RegMarks ()=0
 set marks in neighbour cell in order to maintain 1 regularity
 
virtual int Gen1RegGrid ()=0
 generate such refinement information in the neighbouring cells so that the traingulation will become 1-regular
 
virtual int Ref1Reg (int LocJointNum, TBaseCell *&RefCell)=0
 regular refinement of joint LocJointNum
 
virtual int Check1Reg ()=0
 check whether the surroundings of cell is 1-regular
 
virtual int SetNoRefinement ()=0
 set refinement descriptor to no refinement
 
virtual int SetRegRefine ()=0
 set refinement descriptor to regular refinement
 
virtual int Set1Refine (int i)=0
 set refinement descriptor to adaptive refinement
 
virtual int IsToRefine ()=0
 is the cell to refine
 
virtual int ExistChildren ()=0
 are there any children of this cell
 
virtual int MakeConfClosure ()=0
 generate conforming closures
 
virtual int LineMidXY (int J_i, int P_j, double &X, double &Y)=0
 return (x,y) coordinates
 
virtual int LineMidT (int J_i, int SJ_j, double &T_0, double &T_1)=0
 return parameter values
 
void SetClipBoard (int value)
 set value in ClipBoard
 
int GetClipBoard ()
 get value from ClipBoard
 
virtual double GetDiameter ()=0
 get diameter of a cell
 
virtual double GetShortestEdge ()=0
 return shortest edge of a cell
 
virtual double GetLengthWithReferenceMap ()=0
 return the length of the cell defined with the reference map
 
virtual double GetMeasure ()=0
 get measure of a cell
 
double Get_hK (int cell_measure)
 get the value of hK More...
 
virtual bool PointInCell (double X, double Y)=0
 return whether a point is inside a cell
 
virtual bool PointInCell (double X, double Y, double Z)=0
 
void CorrectBoundaryVertices (TVertex **NewVertices, TJoint **NewJoints)
 
virtual int GetGeoLevel ()=0
 get geometry level
 
virtual int GetSubGridID ()=0
 get subgrid ID
 
void SetReference_ID (int val)
 set reference number to this cell
 
int GetReference_ID () const
 get reference number of this cell
 
void SetBd_Part (int val)
 set phase number to this cell
 
int GetBd_Part () const
 get phase number to this cell
 
void SetCellIndex (int val)
 set subdomain number to this cell
 
int GetCellIndex () const
 set subdomain number to this cell
 
void SetGlobalCellNo (int val)
 set subdomain number to this cell
 
int GetGlobalCellNo () const
 set subdomain number to this cell
 
void SetLocalCellNo (int val)
 set subdomain number to this cell
 
int GetLocalCellNo () const
 set LocalCellNo number to this cell
 
void SetRegionID (int val)
 set region number to this cell
 
int GetRegionID () const
 set region number to this cell
 
void SetAsLayerCell (int val)
 set as LayerCell cell
 
int IsLayerCell () const
 get LayerCell info
 
void SetNormalOrientation ()
 compute normal orientation w.r.t cell
 
int GetNormalOrientation (int i) const
 get normal orientation w.r.t cell at i-th joint
 
void SetClipBoard_Par (int value)
 set value in ClipBoard
 
int GetClipBoard_Par ()
 get value from ClipBoard
 
void SetSubDomainNo (int val)
 set subdomain number to this cell
 
int GetSubDomainNo () const
 set subdomain number to this cell
 
void SetAsOwnCell ()
 
void SetAsDependentCell ()
 
void SetAsHaloCell ()
 
bool IsHaloCell () const
 
void SetAsSubDomainInterfaceCell ()
 
bool IsSubDomainInterfaceCell () const
 
void SetAsCrossEdgeCell ()
 
bool IsCrossEdgeCell () const
 
void SetAsCrossVertexCell ()
 
bool IsCrossVertexCell () const
 
bool IsDependentCell () const
 
void SetN_NeibProcesses (int n)
 
int GetN_NeibProcesses () const
 
void SetNeibProcessesIds (int *Neiblist)
 
int * GetNeibProcessesIds () const
 

Protected Attributes

TRefDescRefDesc
 current property of refinement (including shape descriptor)
 
TJoint ** Joints
 array of all joints
 
int ClipBoard
 an integer for storing clipboard information
 
int Reference_ID
 an integer for storing physical reference of cell (e.g. material properties)
 
int Bd_Part
 an integer for storing boundary part (surface meshes)
 
int CellIndex
 cell index value in the collection
 
int GlobalCellNo
 an integer for storing the global cell number
 
int * normalOrientation
 normal orientation of joints (for each joint this is 1 or -1)
 
int region
 an integer for storing the region of this cell number
 
int LayerCell
 an integer for indicating layer cells
 
TEdge ** Edges
 array of all Edges in 3D
 
int ClipBoard_Par
 an integer for storing clipboard information in parallel FEspace mapping
 
int SubDomainNumber
 an integer for storing which subdomain contains this cell
 
int SubDomainLocalCellNo
 an integer for storing the global cell number
 
bool OwnCell
 a bool to check this cell is own cell of the SubDomain or not
 
bool HaloCell
 a bool to check this cell is a halo cell for the SubDomain or not
 
bool DependentCell
 a bool to check this cell is neibs' halo cell or not
 
bool SubDomainInterfaceCell
 a bool to check this cell contains SubDomainInterface(s) or not
 
bool CrossEdgeCell
 a bool to check this cell contains cross edges or not
 
bool CrossVertexCell
 a bool to check this cell contains cross vertices or not
 
int N_NeibProcesses
 Number of neib processes for this cell.
 
int * NeibProcessesIds
 if(N_NeibProcesses), the rank ID of neib processes
 
int LocalCellNo
 an integer for storing the local cell number (2Phase flows)
 

Detailed Description

information for finite element data structure

prototype of a cell


Author
Volker Behns (97) & Gunar Matthies & Sashikumaar Ganesan
Date
09.07.97 Making some methods inline (Gunar Matthies, 10.10.97) Adding ClipBoard (Gunar Matthies, 10.10.97) Twophase flows (Sashikumaar Ganesan. 20.09.09) Added edge info in 3D (Sashikumaar Ganesan, 04.09.10) MPI methods (Sashikumaar Ganesan, 08.08.14)

Member Function Documentation

double TBaseCell::Get_hK ( int  cell_measure)

get the value of hK

This function calls either this->GetDiameter(), thid->GetShortestEdge, or this->GetMeasure(), depending on cell_measure.

Typically you should set cell_measure = TDatabase::ParamDB->CELL_MEASURE.

Here is the call graph for this function:

Here is the caller graph for this function:


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