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

#include <FESpace3D.h>

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

Public Member Functions

 TFESpace3D (TCollection *coll, char *name, char *description)
 
 TFESpace3D (TCollection *coll, char *name, char *description, BoundCondFunct3D *BoundaryCondition, int k)
 
 TFESpace3D (TCollection *coll, char *name, char *description, BoundCondFunct3D *BoundaryCondition, FE3D *fes)
 
 TFESpace3D (TCollection *coll, char *name, char *description, BoundCondFunct3D *BoundaryCondition, SpaceType type, int ord)
 
 ~TFESpace3D ()
 
void FindUsedElements ()
 
void ConstructSpace (BoundCondFunct3D *BoundaryCondition)
 
int GetN_ActiveDegrees ()
 
int GetN_SlaveDegrees ()
 
int GetHangingBound ()
 
int GetN_Hanging ()
 
FE3D * GetUsedElements ()
 
THangingNode ** GetHangingNodes ()
 
FE3D GetFE3D (int i, TBaseCell *cell)
 
void GetDOFPosition (int dof, double &x, double &y, double &z)
 
void GetDOFPosition (double *x, double *y, double *z)
 
- Public Member Functions inherited from TFESpace
 TFESpace (TCollection *coll, char *name, char *description)
 
 ~TFESpace ()
 
char * GetName () const
 
char * GetDescription () const
 
int GetN_Cells () const
 
TCollectionGetCollection () const
 
int * GetGlobalNumbers () const
 
void SetGlobalNumbers (int *NewGN)
 
int * GetBeginIndex () const
 
int * GetGlobalDOF (int i) const
 return correspondence map from local to global degrees of freedom More...
 
int GetN_UsedElements () const
 
int GetN_DegreesOfFreedom () const
 
int GetN_DiffBoundaryNodeTypes () const
 
BoundCond * GetBoundaryNodeTypes () const
 
int * GetN_BoundaryNodes () const
 
int GetN_Dirichlet () const
 
int GetN_Inner () const
 
int GetInnerBound () const
 
int * GetBoundaryNodesBound () const
 
int GetDirichletBound () const
 
int GetActiveBound () const
 
int Write (const char *filename)
 
void SetAsDGSpace ()
 
int IsDGSpace () const
 
void SetMaxSubDomainPerDof (int maxSubDomainPerDof)
 
int GetMaxSubDomainPerDof ()
 

Protected Attributes

int N_ActiveDegrees
 
int N_SlaveDegrees
 
int HangingBound
 
FE3D * UsedElements
 
FE3D * ElementForShape
 
THangingNode ** HangingNodeArray
 
FE3D * AllElements
 
- Protected Attributes inherited from TFESpace
char * Name
 
char * Description
 
TCollectionCollection
 
int N_Cells
 
int N_DegreesOfFreedom
 
int * GlobalNumbers
 
int * BeginIndex
 
int N_UsedElements
 
int N_DiffBoundNodeTypes
 
BoundCond * BoundaryNodeTypes
 
int N_Dirichlet
 
int * N_BoundaryNodes
 
int N_Inner
 
int InnerBound
 
int * BoundaryNodesBound
 
int DirichletBound
 
int ActiveBound
 
int DGSpace
 
int MaxSubDomainPerDof
 

Detailed Description

class for all 3D finite element spaces

Constructor & Destructor Documentation

TFESpace3D::TFESpace3D ( TCollection coll,
char *  name,
char *  description 
)

constructor

Constructor

TFESpace3D::TFESpace3D ( TCollection coll,
char *  name,
char *  description,
BoundCondFunct3D *  BoundaryCondition,
int  ord 
)

constructor for building a space with elements of order k

Here is the call graph for this function:

TFESpace3D::TFESpace3D ( TCollection coll,
char *  name,
char *  description,
BoundCondFunct3D *  BoundaryCondition,
FE3D *  fes 
)

constructor for building a space with the given elements

Here is the call graph for this function:

TFESpace3D::TFESpace3D ( TCollection coll,
char *  name,
char *  description,
BoundCondFunct3D *  BoundaryCondition,
SpaceType  type,
int  ord 
)

constructor for building a space with elements of order k

Here is the call graph for this function:

TFESpace3D::~TFESpace3D ( )

destructor

Member Function Documentation

void TFESpace3D::ConstructSpace ( BoundCondFunct3D *  BoundaryCondition)

construct space

set clipboard to all bound/interface edges, since only an edge from a cell be on the bound (in particaul Dirchlet)

Finding BD (in particaul Dirichlet) Dof only may miss the edge BD DOF

unfortunately if this processor is the master of the missed BD (in particaul Dirichlet) dof, it will give wrong result

only vert in a cell may be on the BD, so BD vertices also included 30.06.2012, sashi

set dept. vert neib cells to -1, especiall to use own_FEspace and FEspace with (own + Hallo) cells

if Hallo cells in this coll, the it will set to "i", otherwise -1

modified by sashi, since BD is not regular and T, S are not defined when tetgen is used

edges on this face are already set, so no need of checking in BD edges on this face

vertices on this face are already set, so no need of checking in BD vert on this face, 30.06.12, sashi

identify BD edges but not part of BD faces

vertices on this edge are already set, so no need of checking in BD vert on this edge, 30.06.12, sashi

identify BD vert but not part of BD faces/edge

I hope, it is enough to check BD vertices, sice other vertices are anyway inner, so no prob with Dirichlet BD

modified by sashi, since BD is not regular and T, S are not properly defined when using tetgen

edges on this face are already set, so no need to check in BD edges on this face

vertices on this face are already set, so no need to check in BD vert on this face, 30.06.12, sashi

vertices on this edge are already set, so no need of checking in BD vert on this edge, 30.06.12, sashi

identify BD vert but not part of BD faces/edge

I hope, it is enough to check BD vertices, since other vertices are anyway inner, so no prob with Dirichlet BD

fill the already assigned global dof

hallo cell included, as multigrid fespace will contain Halo cells - Sashi:10-03-15

own cell or neib cell (i.e. Hallo cells) is not in this collection

hallo cells are also need to be considered, so modified 11 Mar 2015 by Sashi

own cell or neib cell (i.e. Hallo cells) is not in this collection

Here is the caller graph for this function:

void TFESpace3D::FindUsedElements ( )

find used elements

Here is the call graph for this function:

Here is the caller graph for this function:

void TFESpace3D::GetDOFPosition ( int  dof,
double &  x,
double &  y,
double &  z 
)

return position of one given DOF

return position of all dofs

Here is the call graph for this function:

void TFESpace3D::GetDOFPosition ( double *  x,
double *  y,
double *  z 
)

return position of all dofs

Here is the call graph for this function:

FE3D TFESpace3D::GetFE3D ( int  i,
TBaseCell cell 
)

return the FE Id for element i, corresponding to cell

Here is the call graph for this function:

Here is the caller graph for this function:

int TFESpace3D::GetHangingBound ( )
inline

return HangingBound

Here is the caller graph for this function:

THangingNode** TFESpace3D::GetHangingNodes ( )
inline

return array with all hanging nodes

Here is the caller graph for this function:

int TFESpace3D::GetN_ActiveDegrees ( )
inline

return number of active degrees of freedom

Here is the caller graph for this function:

int TFESpace3D::GetN_Hanging ( )
inline

return N_Hanging=N_SlaveDegrees

Here is the caller graph for this function:

int TFESpace3D::GetN_SlaveDegrees ( )
inline

return number of slave degrees of freedom

FE3D* TFESpace3D::GetUsedElements ( )
inline

return identifiers of used elements

Member Data Documentation

FE3D* TFESpace3D::AllElements
protected

array storing the fe for each element, if necessary

FE3D* TFESpace3D::ElementForShape
protected

array with an element for each shape

int TFESpace3D::HangingBound
protected

NeumannBound <= i < HangingBound for all hanging nodes i => HangingBound <= i < DirichletBound for all Dirichlet node i

THangingNode** TFESpace3D::HangingNodeArray
protected

array of hanging nodes

int TFESpace3D::N_ActiveDegrees
protected

number of active degrees of freedom

int TFESpace3D::N_SlaveDegrees
protected

number of slave degrees of freedom

FE3D* TFESpace3D::UsedElements
protected

array containing the used elements


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