hp2FEM
0.1
|
This class manages the nodes (or modes) when the problem uses high order FE. There are specialized methods according to the problem dimension and to the topological entity. When needed those methods generates nodes and update the incidence for the whole mesh. More...
#include <HighOrder.h>
Public Member Functions | |
HighOrder (HighOrder &Instance) | |
HighOrder & | operator= (HighOrder &Instance) |
Copies the contents of Instance for the object. | |
unsigned long | GetNumberVertexNodes () |
Returns the total number of vertex nodes (or modes) in the FE model. | |
unsigned long | GetNumberEdgeNodes () |
Returns the total number of edge nodes (or modes) in the FE model. | |
unsigned long | GetNumberFaceNodes () |
Returns the total number of face nodes (or modes) in the FE model. | |
unsigned long | GetNumberBodyNodes () |
Returns the total number of body nodes (or modes) in the FE model. | |
unsigned long | GetNumberVertexDOFs () |
Returns the total number of vertex DOFs in the FE model. | |
unsigned long | GetNumberEdgeDOFs () |
Returns the total number of edge DOFs in the FE model. | |
unsigned long | GetNumberFaceDOFs () |
Returns the total number of face DOFs in the FE model. | |
unsigned long | GetNumberBodyDOFs () |
Returns the total number of body DOFs in the FE model. | |
unsigned long | GetGlobalNumNodes () |
Returns the global number of nodes. | |
void | Print (FILE *File, char *Message="") |
Prints the parameters of the FE groups to an ASCII file. | |
void | Save (char *Tabname, int Version, char *Filename) |
Writes class data to a binary database. | |
void | Save (FILE *File) |
Writes class information to a binary file. | |
void | Restore (char *Tabname, int Version, char *Filename) |
Restores class data (written using the Save method) from a binary file. | |
void | Restore (FILE *File) |
Restores class data (written using Save()) form a binary file. | |
void | Free () |
Releases the physical memory allocate for the groups. | |
void | BuildHighOrder (FEGroups &Groups, BoundaryData &BData, GeometryMesh &GeoMsh, ElementElementTable &ElemElemTab, unsigned long NumInputNodes, unsigned long Dimension) |
Manages the HighOrder class. | |
void | BuildHighOrderNodes (FEGroups &Groups, BoundaryData &BData, GeometryMesh &GeoMsh, ElementElementTable &ElemElemTab, MeshID_E MeshID) |
Manages the HighOrder class. | |
void | BuildHighOrderNodes1DMatrices (FEGroups &Groups, ElementElementTable &ElemElemTab, MeshID_E MeshID) |
Manages the HighOrder class. | |
Protected Member Functions | |
void | pUniformMatching2DEdgeNodes (FEGroups &Groups, ElementElementTable &ElemElemTab, MeshID_E MeshID) |
Generates the edge nodes (or modes) for pUniform 2D meshes. | |
void | pUniformMatching3DEdgeNodes (FEGroups &Groups, ElementElementTable &ElemElemTab, MeshID_E MeshID) |
Generates the edge nodes (or modes) for pUniform 3D meshes. | |
void | pUniformMatching3DFaceNodes (FEGroups &Groups, ElementElementTable &ElemElemTab, MeshID_E MeshID) |
Generates the face nodes (or modes) for pUniform 3D meshes. | |
void | pUniformNumberingInternalNodes (FEGroups &Groups, MeshID_E MeshID) |
Generates the body nodes (or modes) for pUniform 3D meshes. | |
Protected Attributes | |
unsigned long | TotalNumVertexNodes |
Stores the total number of vertex nodes (or modes) in the FE model. | |
unsigned long | TotalNumEdgeNodes |
Stores the total number of edge nodes (or modes) in the FE model. | |
unsigned long | TotalNumFaceNodes |
Stores the total number of face nodes (or modes) in the FE model. | |
unsigned long | TotalNumBodyNodes |
Stores the total number of body nodes (or modes) in the FE model. | |
unsigned long | TotalNumVertexDOFs |
Stores the total number of vertex DOFs in the FE model. | |
unsigned long | TotalNumEdgeDOFs |
Stores the total number of edge DOFs in the FE model. | |
unsigned long | TotalNumFaceDOFs |
Stores the total number of face DOFs in the FE model. | |
unsigned long | TotalNumBodyDOFs |
Stores the total number of body DOFs in the FE model. | |
unsigned long | GlobalNumNodes |
Used to account high-order nodes. | |
unsigned long | Dim |
Problem dimesion. |
This class manages the nodes (or modes) when the problem uses high order FE. There are specialized methods according to the problem dimension and to the topological entity. When needed those methods generates nodes and update the incidence for the whole mesh.
void HighOrder::BuildHighOrder | ( | FEGroups & | Groups, |
BoundaryData & | BData, | ||
GeometryMesh & | GeoMsh, | ||
ElementElementTable & | ElemElemTab, | ||
unsigned long | NumInputNodes, | ||
unsigned long | Dimension | ||
) |
Manages the HighOrder class.
[in] | Groups | - instance of the FEGroups class whichStores information for the finite element groups for the discrete model. |
[in] | MeshID | - type of mesh. |
[in] | ElemElemTab | - instance of the ElementElementTable class. |
void HighOrder::BuildHighOrderNodes | ( | FEGroups & | Groups, |
BoundaryData & | BData, | ||
GeometryMesh & | GeoMsh, | ||
ElementElementTable & | ElemElemTab, | ||
MeshID_E | MeshID | ||
) |
Manages the HighOrder class.
[in] | Groups | - instance of the FEGroups class whichStores information for the finite element groups for the discrete model. |
[in] | MeshID | - type of mesh. |
[in] | ElemElemTab | - instance of the ElementElementTable class. |
void HighOrder::BuildHighOrderNodes1DMatrices | ( | FEGroups & | Groups, |
ElementElementTable & | ElemElemTab, | ||
MeshID_E | MeshID | ||
) |
Manages the HighOrder class.
[in] | Groups | - instance of the FEGroups class whichStores information for the finite element groups for the discrete model. |
[in] | MeshID | - type of mesh. |
[in] | ElemElemTab | - instance of the ElementElementTable class. |
void HighOrder::Free | ( | ) |
Releases the physical memory allocate for the groups.
Copies the contents of Instance for the object.
[in] | Instance | - instance of HighOrder. |
void HighOrder::Print | ( | FILE * | File, |
char * | Message = "" |
||
) |
Prints the parameters of the FE groups to an ASCII file.
[in] | File | - pointer to the ASCII file. |
[in] | Message | - optional message to be written to the ASCII file. |
void HighOrder::pUniformMatching2DEdgeNodes | ( | FEGroups & | Groups, |
ElementElementTable & | ElemElemTab, | ||
MeshID_E | MeshID | ||
) | [protected] |
Generates the edge nodes (or modes) for pUniform 2D meshes.
[in] | Groups | - instance of the FEGroups class whichStores information for the finite element groups for the discrete model. |
[in] | MeshID | - type of mesh. |
[in] | ElemElemTab | - instance of the ElementElementTable class. |
void HighOrder::pUniformMatching3DEdgeNodes | ( | FEGroups & | Groups, |
ElementElementTable & | ElemElemTab, | ||
MeshID_E | MeshID | ||
) | [protected] |
Generates the edge nodes (or modes) for pUniform 3D meshes.
[in] | Groups | - instance of the FEGroups class whichStores information for the finite element groups for the discrete model. |
[in] | MeshID | - type of mesh. |
[in] | ElemElemTab | - instance of the ElementElementTable class. |
void HighOrder::pUniformMatching3DFaceNodes | ( | FEGroups & | Groups, |
ElementElementTable & | ElemElemTab, | ||
MeshID_E | MeshID | ||
) | [protected] |
Generates the face nodes (or modes) for pUniform 3D meshes.
[in] | Groups | - instance of the FEGroups class whichStores information for the finite element groups for the discrete model. |
[in] | MeshID | - type of mesh. |
[in] | ElemElemTab | - instance of the ElementElementTable class. |
void HighOrder::pUniformNumberingInternalNodes | ( | FEGroups & | Groups, |
MeshID_E | MeshID | ||
) | [protected] |
Generates the body nodes (or modes) for pUniform 3D meshes.
[in] | Groups | - instance of the FEGroups class whichStores information for the finite element groups for the discrete model. |
[in] | MeshID | - type of mesh. |
void HighOrder::Restore | ( | char * | Tabname, |
int | Version, | ||
char * | Filename | ||
) |
Restores class data (written using the Save method) from a binary file.
[in] | Tabname | - name of the database table where the data will be stored. |
[in] | Version | - data version number. |
[in] | Filename | - database prefix filename. Two files will be used: filename.dir and filename.bdg. The first one stores keys to the data stored in the filename.bdg file. |
void HighOrder::Restore | ( | FILE * | File | ) |
Restores class data (written using Save()) form a binary file.
[in] | File | - pointer to the binary file. |
void HighOrder::Save | ( | char * | Tabname, |
int | Version, | ||
char * | Filename | ||
) |
Writes class data to a binary database.
[in] | Tabname | - name of the database table where the data will be stored. |
[in] | Version | - data version number. |
[in] | Filename | - database prefix filename. Two files will be used: filename.dir and filename.bdg. The first one stores keys to the data stored in the filename.bdg file. |
void HighOrder::Save | ( | FILE * | File | ) |
Writes class information to a binary file.
[in] | File | - pointer to the binary file. |