#include <mrtr_segment_bilineartri.H>
Public Member Functions | |
Segment_BiLinearTri (int id, int nnode, int *nodeId, int out) | |
Standard Constructor. | |
Segment_BiLinearTri (int out) | |
Empty Constructor. | |
Segment_BiLinearTri (MOERTEL::Segment_BiLinearTri &old) | |
Copy Constructor. | |
virtual | ~Segment_BiLinearTri () |
Destructor. | |
MOERTEL::Segment * | Clone () |
Deep copy this instance of Segment_BiLinearTri and return pointer to the copy. | |
int * | Pack (int *size) |
Pack some data from this class to an int vector of length size so it can be communicated using MPI. | |
bool | UnPack (int *pack) |
Unpack some data an int vector and store data in this class. | |
double * | BuildNormal (double *xi) |
Build an outward normal at segment coordinates xi. | |
double | Area () |
Compute and return the area of this Segment_BiLinearTri. | |
double | Metric (double *xi, double g[], double G[][3]) |
not implemented | |
bool | LocalCoordinatesOfNode (int lid, double *xi) |
Get local coords of a node attached to this segment with local node Id lid. | |
Protected Member Functions | |
Segment_BiLinearTri | operator= (const Segment &old) |
A class to define a 3-noded triangle 2D Segment
Important:
Upon construction, the user must assure that the nodes attached to this segment are given in counter-clockwise order such that the outward normal to the domain points out from the screen:
Node 2 o / | / | / | / | <-------| / | domain surface | / | ------ / | / | / | o----------o Node 0 Node 1
The reason for this is that the outward normal to the interface is implicitly defined by the orientation of the segments. There is no way for the MOERTEL package to check the orientation of the segments as they are passed in by the user and most obscure results will be produced when the orientation is uncorrect!
The MOERTEL::Segment_BiLinearTri class supports the ostream& operator <<
MOERTEL::Segment_BiLinearTri::Segment_BiLinearTri | ( | int | id, | |
int | nnode, | |||
int * | nodeId, | |||
int | out | |||
) | [explicit] |
Standard Constructor.
Id | : A unique positive Segment id. Does not need to be continous among segments | |
nnode | : Number of nodes this segment is attached to | |
nodeId | : Pointer to vector length nnode holding unique positive node ids of nodes this segment is attached to in counterclock-wise orientation looking at the interface such that the outward normal to the domain points out from the screen | |
outlevel | : Level of output to stdout to be generated by this class (0-10) |
Referenced by Clone().
MOERTEL::Segment_BiLinearTri::Segment_BiLinearTri | ( | int | out | ) | [explicit] |
Empty Constructor.
To be used for communicating Segment_BiLinearTri classes among processes together with Pack and UnPack
MOERTEL::Segment_BiLinearTri::Segment_BiLinearTri | ( | MOERTEL::Segment_BiLinearTri & | old | ) |
Copy Constructor.
Makes a deep copy of a Segment_BiLinearTri