hp2FEM  0.1
Public Member Functions | Protected Member Functions | Protected Attributes
BoundaryData Class Reference

Class BoundaryData. More...

#include <BoundaryData.h>

Collaboration diagram for BoundaryData:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 BoundaryData ()
 Default constructor.
 ~BoundaryData ()
 Destructor.
void Save (FILE *File)
 Writes class information to a binary file. The current object state can be completely recovered when applying the Restore() operation.
void Restore (FILE *File)
 Restores class data (written using Save()) from a binary file.
void Read (FILE *File)
 Reads class data from an ASCII file in FEAWEB format.
void Print (FILE *File=stdout)
 Prints class information in an ASCII file.
void Free ()
 Releases the memory allocated for the class attributes.
 operator Parametric2DPoints *const ()
 Cast operator from BoundaryData to Parametric2DPoints pointer.
 operator Parametric3DPoints *const ()
 Cast operator from BoundaryData to Parametric3DPoints pointer.
 operator Parametric3DCurves *const ()
 Cast operator from BoundaryData to Parametric3DCurves pointer.
 operator ParametricLines & ()
 operator ParametricSurfaces & ()
void SetNURBSParameters (BuiltInArray< long > &BoundaryNodes, BuiltInArray< long > &NumberOfBoundaryNodes, Nodes &NN)
 Finds the parametric coordinates of all nodes placed on all parametric surfaces.
long GetNumberOfHigherEntities (Geo_Entities_E Entity, long EntityNum)
 Returns the number of curves or surfaces associated to the entity specified in the arguments: in 2D problems it is used to find how many curves share a point; in 3D problems it can be used to find how many surfaces share a point or a curve.
long GetHigherEntity (Geo_Entities_E Entity, long EntityNum, long Pos)
 Returns the global identification number of the curve or surface associated the the geometric entity specified in the arguments of this operation.
void ResetNURBSParameters ()
 Sets the attribute Current to -1. This tells the geometric description that new parametric coordinates must be evaluated, even if mesh topology is the same.
void CPPosBoundaryVelocity (long EntityNum, long CPU, long card, double *const Velocity, BuiltInArray< long > &BoundaryNodes, BuiltInArray< long > &NumberOfBoundaryNodes)
 Evaluates the boundary velocity field relative to a control point of a NURBS curve.
void CPPosBoundaryVelocity (long EntityNum, long CPU, long CPV, long card, double *const Velocity, BuiltInArray< long > &BoundaryNodes, BuiltInArray< long > &NumberOfBoundaryNodes)
 Evaluates the boundary velocity field relative to a control point of a NURBS surface.
void SetTableEntry (long EntityNum, long CPU, Variable_Defs_E VarType, double Value)
 Updates the data of a control point of a NURBS curve.
void SetTableEntry (long EntityNum, long CPU, long CPV, Variable_Defs_E VarType, double Value)
 Updates the data of a control point of a NURBS surface.

Protected Member Functions

void SetNURBSParameters (long EntityNum, BuiltInArray< long > &BoundaryNodes, BuiltInArray< long > &NumberOfBoundaryNodes, Nodes &NN)
 Finds the parametric coordinates of the nodes placed on a NURBS entity (curve or surface).

Protected Attributes

long Current
 Identification number of the last entity on which some operation was applied. @.
int Dim
 Dimension of the domain. @ ## begin BoundaryData::Dim%3728AC4C0351.attr preserve=no protected: int {VA} (0)
BuiltInArray< double > tau
 Parametric coordinates of nodes on the boundary. @ ## begin BoundaryData::tau%39D9E3DA017E.attr preserve=no protected: BuiltInArray<double> {UA} ()
BuiltInArray< long > NumberOfParametricNodes
 Number of nodes on parameterized lines (2D) or surfaces (3D). ## begin BoundaryData::NumberOfParametricNodes%39D9E419034B.attr preserve=no protected: BuiltInArray<long> {UA} ()
Parametric3DPoints Points3D
 Parameterized points of three-dimensional geometries. @ ## begin BoundaryData::Points3D%39D9D9980218.role preserve=no protected: Parametric3DPoints {1..1 -> 1..1VHgAN}.
ParametricLines Curves2D
 Parameterized curves of two-dimensional geometries. @ ## begin BoundaryData::Curves2D%39D9D99A02D9.role preserve=no protected: ParametricLines {1..1 -> 1..1VHgAN}.
ParametricSurfaces Surfaces
 Parameterized surfaces of three-dimensional geometries. @ ## begin BoundaryData::Surfaces%39D9D99C0336.role preserve=no protected: ParametricSurfaces {1..1 -> 1..1VHgAN}.
Parametric3DCurves Curves3D
 Parameterized curves of three-dimensional geometries. @ ## begin BoundaryData::Curves3D%39D9D99F0005.role preserve=no protected: Parametric3DCurves {1..1 -> 1..1VHgAN}.
Parametric2DPoints Points2D
 Parameterized points of two-dimensional geometries. @ ## begin BoundaryData::Points2D%39D9D9A0036E.role preserve=no protected: Parametric2DPoints {1..1 -> 1..1VHgAN}.

Detailed Description

Class BoundaryData.


Member Function Documentation

long BoundaryData::GetHigherEntity ( Geo_Entities_E  Entity,
long  EntityNum,
long  Pos 
)

Returns the global identification number of the curve or surface associated the the geometric entity specified in the arguments of this operation.

This operation and GetNumberOfHigherEntities where introduced in order to unify and simplify the evaluation of boundary velocity fields of NURBS entities: each entity (poin or curve) is able to find which curves or surfaces they are attached to and use their mathematical expressions for velocity evaluation. This way, velocity field classes need only to extend velocity fields to the interior of the domain.

BoundaryData::operator Parametric2DPoints *const ( )

Cast operator from BoundaryData to Parametric2DPoints pointer.

This operator simplifies the interface of this class as it permits direct access to Parametric2DPoints public interface.

BoundaryData::operator Parametric3DCurves *const ( )

Cast operator from BoundaryData to Parametric3DCurves pointer.

This operator simplifies the interface of this class as it permits direct access to Parametric3DCurves public interface.

BoundaryData::operator Parametric3DPoints *const ( )

Cast operator from BoundaryData to Parametric3DPoints pointer.

This operator simplifies the interface of this class as it permits direct access to Parametric3DPoints public interface.

void BoundaryData::Read ( FILE *  File)

Reads class data from an ASCII file in FEAWEB format.

See the document "FEAWEB ASCII File Format" for details.

void BoundaryData::SetNURBSParameters ( BuiltInArray< long > &  BoundaryNodes,
BuiltInArray< long > &  NumberOfBoundaryNodes,
Nodes NN 
)

Finds the parametric coordinates of all nodes placed on all parametric surfaces.

This operation must be executed before any velocity field evaluation as they assume correct parametric coordinates are stored.


Member Data Documentation

long BoundaryData::Current [protected]

Identification number of the last entity on which some operation was applied. @.

## Attribute: Current%3728AC4C0350

This variable prevents unnecessary repetitive computations when the internal data is still valid. @ ## begin BoundaryData::Current%3728AC4C0350.attr preserve=no protected: long {VA} (-1)

Parameterized curves of two-dimensional geometries. @ ## begin BoundaryData::Curves2D%39D9D99A02D9.role preserve=no protected: ParametricLines {1..1 -> 1..1VHgAN}.

## Association: Design Model::Business Specific::Opt::Opt\: Design Classes::<unnamed>%39D9D99A00F9 ## Role: BoundaryData::Curves2D%39D9D99A02D9

Parameterized curves of three-dimensional geometries. @ ## begin BoundaryData::Curves3D%39D9D99F0005.role preserve=no protected: Parametric3DCurves {1..1 -> 1..1VHgAN}.

## Association: Design Model::Business Specific::Opt::Opt\: Design Classes::<unnamed>%39D9D99E01F9 ## Role: BoundaryData::Curves3D%39D9D99F0005

int BoundaryData::Dim [protected]

Dimension of the domain. @ ## begin BoundaryData::Dim%3728AC4C0351.attr preserve=no protected: int {VA} (0)

## Attribute: Dim%3728AC4C0351

Number of nodes on parameterized lines (2D) or surfaces (3D). ## begin BoundaryData::NumberOfParametricNodes%39D9E419034B.attr preserve=no protected: BuiltInArray<long> {UA} ()

## Attribute: NumberOfParametricNodes%39D9E419034B

Parameterized points of two-dimensional geometries. @ ## begin BoundaryData::Points2D%39D9D9A0036E.role preserve=no protected: Parametric2DPoints {1..1 -> 1..1VHgAN}.

## Association: Design Model::Business Specific::Opt::Opt\: Design Classes::<unnamed>%39D9D9A00147 ## Role: BoundaryData::Points2D%39D9D9A0036E

Parameterized points of three-dimensional geometries. @ ## begin BoundaryData::Points3D%39D9D9980218.role preserve=no protected: Parametric3DPoints {1..1 -> 1..1VHgAN}.

## Association: Design Model::Business Specific::Opt::Opt\: Design Classes::<unnamed>%39D9D9970249 ## Role: BoundaryData::Points3D%39D9D9980218

Parameterized surfaces of three-dimensional geometries. @ ## begin BoundaryData::Surfaces%39D9D99C0336.role preserve=no protected: ParametricSurfaces {1..1 -> 1..1VHgAN}.

## Association: Design Model::Business Specific::Opt::Opt\: Design Classes::<unnamed>%39D9D99C016A ## Role: BoundaryData::Surfaces%39D9D99C0336

BuiltInArray<double> BoundaryData::tau [protected]

Parametric coordinates of nodes on the boundary. @ ## begin BoundaryData::tau%39D9E3DA017E.attr preserve=no protected: BuiltInArray<double> {UA} ()

## Attribute: tau%39D9E3DA017E


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Friends Defines