158 {
return Edges[E_i]; }
209 virtual int Draw(std::ofstream &dat,
double scale,
double StartX,
212 virtual int PS(std::ofstream &dat,
double scale,
double StartX,
215 virtual int MD_raw(std::ofstream &dat) = 0;
219 virtual int Refine(
int RefLevel) = 0;
256 virtual int LineMidXY(
int J_i,
int P_j,
double &X,
double &Y) = 0;
258 virtual int LineMidT(
int J_i,
int SJ_j,
double &T_0,
double &T_1) = 0;
288 double Get_hK(
int cell_measure);
294 virtual bool PointInCell(
double X,
double Y,
double Z) = 0;
297 void CorrectBoundaryVertices(
TVertex **NewVertices,
TJoint **NewJoints);
391 void SetAsDependentCell()
400 bool IsHaloCell()
const
403 void SetAsSubDomainInterfaceCell()
406 bool IsSubDomainInterfaceCell()
const
409 void SetAsCrossEdgeCell()
412 bool IsCrossEdgeCell()
const
416 void SetAsCrossVertexCell()
419 bool IsCrossVertexCell()
const
422 bool IsDependentCell()
const
425 void SetN_NeibProcesses(
int n)
428 int GetN_NeibProcesses()
const
431 void SetNeibProcessesIds(
int *Neiblist);
433 int *GetNeibProcessesIds()
const
virtual int ExistChildren()=0
are there any children of this cell
void SetSubDomainNo(int val)
set subdomain number to this cell
Definition: BaseCell.h:381
virtual int Gen1RegGrid()=0
generate such refinement information in the neighbouring cells so that the traingulation will become ...
int GetClipBoard_Par()
get value from ClipBoard
Definition: BaseCell.h:377
double Get_hK(int cell_measure)
get the value of hK
Definition: BaseCell.C:97
virtual int Gen1RegMarks()=0
set marks in neighbour cell in order to maintain 1 regularity
int Bd_Part
an integer for storing boundary part (surface meshes)
Definition: BaseCell.h:41
virtual int RefDeref()=0
make refinement or derefinement according to cell's clipboard
virtual int SetNoRefinement()=0
set refinement descriptor to no refinement
virtual double GetDiameter()=0
get diameter of a cell
TJoint ** Joints
array of all joints
Definition: BaseCell.h:32
int * NeibProcessesIds
if(N_NeibProcesses), the rank ID of neib processes
Definition: BaseCell.h:95
virtual double GetMeasure()=0
get measure of a cell
virtual int MakeConfClosure()=0
generate conforming closures
virtual int MD_raw(std::ofstream &dat)=0
write cell data according to MD format in stream dat
virtual int Derefine()=0
derefine the current cell, remove the children
int GetN_Faces()
return the number of faces of the cell
Definition: BaseCell.h:190
bool DependentCell
a bool to check this cell is neibs' halo cell or not
Definition: BaseCell.h:80
virtual int GetSubGridID()=0
get subgrid ID
int N_NeibProcesses
Number of neib processes for this cell.
Definition: BaseCell.h:92
int IsLayerCell() const
get LayerCell info
Definition: BaseCell.h:359
virtual int Ref1Reg(int LocJointNum, TBaseCell *&RefCell)=0
regular refinement of joint LocJointNum
TEdge ** Edges
array of all Edges in 3D
Definition: BaseCell.h:60
virtual int RefineMortar(int RefLevel)=0
refine a mortar cell
Refinements GetFaceRef(int i)
Definition: RefDesc.h:558
int SetJoint(int J_i, TJoint *J)
set the pointer to face J_i to J
Definition: BaseCell.h:168
void SetLocalCellNo(int val)
set subdomain number to this cell
Definition: BaseCell.h:339
Refinements GetEdgeRef(int i) const
return refinement descriptor of edge i
Definition: BaseCell.h:141
void SetClipBoard(int value)
set value in ClipBoard
Definition: BaseCell.h:263
int LayerCell
an integer for indicating layer cells
Definition: BaseCell.h:56
int Reference_ID
an integer for storing physical reference of cell (e.g. material properties)
Definition: BaseCell.h:38
int ClipBoard
an integer for storing clipboard information
Definition: BaseCell.h:35
virtual double GetShortestEdge()=0
return shortest edge of a cell
int ClipBoard_Par
an integer for storing clipboard information in parallel FEspace mapping
Definition: BaseCell.h:65
int GetN_Joints()
Definition: ShapeDesc.h:91
int GetCellIndex() const
set subdomain number to this cell
Definition: BaseCell.h:327
TShapeDesc * GetShapeDesc() const
return shape descriptor of refinement descriptor
Definition: BaseCell.h:134
virtual int SetParent(TBaseCell *parent)=0
set the parent to parent
int GetReference_ID() const
get reference number of this cell
Definition: BaseCell.h:311
void SetNormalOrientation()
compute normal orientation w.r.t cell
Definition: BaseCell.C:170
int GlobalCellNo
an integer for storing the global cell number
Definition: BaseCell.h:47
int GetN_Joints()
return the number of joints
Definition: BaseCell.h:185
void SetGlobalCellNo(int val)
set subdomain number to this cell
Definition: BaseCell.h:331
virtual TVertex * GetVertex(int Vert_i)=0
return the pointer to vertex with number i
virtual int PS(std::ofstream &dat, double scale, double StartX, double StartY)=0
write the postscript cell data to stream dat
virtual int GetN_Children()=0
return the number of children of the cell
virtual int GetGeoLevel()=0
get geometry level
int SubDomainLocalCellNo
an integer for storing the global cell number
Definition: BaseCell.h:71
int SetEdge(int E_i, TEdge *E)
set the pointer to edge E_i to E
Definition: BaseCell.h:150
void SetBd_Part(int val)
set phase number to this cell
Definition: BaseCell.h:315
Definition: ShapeDesc.h:29
TJoint * GetJoint(int J_i)
return the pointer to face with number i
Definition: BaseCell.h:175
int GetN_OrigFaces()
Definition: RefDesc.h:338
int GetSubDomainNo() const
set subdomain number to this cell
Definition: BaseCell.h:385
int GetN_Vertices()
Definition: ShapeDesc.h:85
bool OwnCell
a bool to check this cell is own cell of the SubDomain or not
Definition: BaseCell.h:74
int SetRefDesc(TRefDesc *newrefdesc)
set refinement descriptor to newrefdesc
Definition: BaseCell.h:112
void SetReference_ID(int val)
set reference number to this cell
Definition: BaseCell.h:307
int GetN_Vertices()
return the number of vertices of the cell
Definition: BaseCell.h:179
Refinements GetEdgeRef(int J_i)
Definition: RefDesc.h:353
virtual int Refine(int RefLevel)=0
refine the current cell on level RefLevel according actual refinement descriptor
virtual int Set1Refine(int i)=0
set refinement descriptor to adaptive refinement
virtual TBaseCell * GetChild(int C_i)=0
return the child with the number C_i
TRefDesc * RefDesc
current property of refinement (including shape descriptor)
Definition: BaseCell.h:29
int GetN_OrigVertices()
Definition: RefDesc.h:333
virtual TBaseCell * GetParent()=0
return the parent cell
int CellIndex
cell index value in the collection
Definition: BaseCell.h:44
virtual int SetRegRefine()=0
set refinement descriptor to regular refinement
int region
an integer for storing the region of this cell number
Definition: BaseCell.h:53
virtual int LineMidT(int J_i, int SJ_j, double &T_0, double &T_1)=0
return parameter values
TRefDesc * GetRefDesc() const
return refinement descriptor
Definition: BaseCell.h:131
int LocalCellNo
an integer for storing the local cell number (2Phase flows)
Definition: BaseCell.h:100
bool SubDomainInterfaceCell
a bool to check this cell contains SubDomainInterface(s) or not
Definition: BaseCell.h:83
information for finite element data structure
Definition: BaseCell.h:25
virtual bool PointInCell(double X, double Y)=0
return whether a point is inside a cell
void SetClipBoard_Par(int value)
set value in ClipBoard
Definition: BaseCell.h:373
virtual double GetLengthWithReferenceMap()=0
return the length of the cell defined with the reference map
virtual int IsToRefine()=0
is the cell to refine
bool HaloCell
a bool to check this cell is a halo cell for the SubDomain or not
Definition: BaseCell.h:77
virtual int GetN_Parents()=0
return the number of parents of the cell
int GetN_OrigEdges()
Definition: RefDesc.h:330
virtual int Check1Reg()=0
check whether the surroundings of cell is 1-regular
Refinements GetFaceRef(int i)
return refinement descriptor of face i
Definition: BaseCell.h:146
int * normalOrientation
normal orientation of joints (for each joint this is 1 or -1)
Definition: BaseCell.h:50
int GetN_Edges()
return the number of edges of the cell
Definition: BaseCell.h:182
void SetRegionID(int val)
set region number to this cell
Definition: BaseCell.h:347
virtual int LineMidXY(int J_i, int P_j, double &X, double &Y)=0
return (x,y) coordinates
TShapeDesc * GetShapeDesc()
Definition: RefDesc.h:350
void SetCellIndex(int val)
set subdomain number to this cell
Definition: BaseCell.h:323
TEdge * GetEdge(int E_i)
return the pointer to edge with number E_i
Definition: BaseCell.h:157
bool CrossVertexCell
a bool to check this cell contains cross vertices or not
Definition: BaseCell.h:89
bool CrossEdgeCell
a bool to check this cell contains cross edges or not
Definition: BaseCell.h:86
int GetLocalCellNo() const
set LocalCellNo number to this cell
Definition: BaseCell.h:343
int GetNormalOrientation(int i) const
get normal orientation w.r.t cell at i-th joint
Definition: BaseCell.h:366
int GetGlobalCellNo() const
set subdomain number to this cell
Definition: BaseCell.h:335
Shapes GetType()
Definition: ShapeDesc.h:101
int GetClipBoard()
get value from ClipBoard
Definition: BaseCell.h:266
virtual int SetVertex(int Vert_i, TVertex *Vert)=0
set the pointer of vertex Vert_i to Vert
int GetBd_Part() const
get phase number to this cell
Definition: BaseCell.h:319
virtual int GetChildNumber(TBaseCell *Me)=0
return the child number of cell Me
Shapes GetType() const
return shape type of refinement descriptor
Definition: BaseCell.h:137
void SetAsLayerCell(int val)
set as LayerCell cell
Definition: BaseCell.h:355
int GetRegionID() const
set region number to this cell
Definition: BaseCell.h:351
int SubDomainNumber
an integer for storing which subdomain contains this cell
Definition: BaseCell.h:68
virtual int Draw(std::ofstream &dat, double scale, double StartX, double StartY)=0
write boundary and interface joints to stream dat