#include <mrtr_segment.H>
Inheritance diagram for MOERTEL::Segment:

Public Types | |
| enum | SegmentType { seg_none, seg_Linear1D, seg_BiLinearQuad, seg_BiLinearTri } |
| Type of segment. More... | |
Public Member Functions | |
Constructors and destructors | |
| Segment (int id, int nnode, int *nodeId, int outlevel) | |
| Standard Constructor. | |
| Segment (int outlevel) | |
| Empty Constructor. | |
| Segment (MOERTEL::Segment &old) | |
| Copy Constructor. | |
| virtual | ~Segment () |
| Destructor. | |
Methods implemented by this class | |
| int | OutLevel () |
| Return level of output to be generated by this class (0-10). | |
| int | Id () const |
| Return unique id of this Segment. | |
| int | Nnode () const |
| Return number of nodes attached to this Segment. | |
| MOERTEL::Segment::SegmentType | Type () const |
| Return type of Segment. | |
| const int * | NodeIds () const |
| Return view of node ids of nodes attached to this Segment. | |
| MOERTEL::Node ** | Nodes () |
| Return pointer to vector of length Nnode() of pointers to Nodes attached to this Segment. | |
| int | Nfunctions () |
| Return number of functions defined on this Segment. | |
| MOERTEL::Function::FunctionType | FunctionType (int id) |
| Return FunctionType of a function with the Id id. | |
| bool | SetFunction (int id, MOERTEL::Function *func) |
| Attach a function to this Segment. | |
| bool | EvaluateFunction (int id, const double *xi, double *val, int valdim, double *deriv) |
| Evaluate a function with a certain id. | |
| double * | BuildNormalAtNode (int nid) |
| Build normal at a node adjacent to this Segment. | |
| bool | GetPtrstoNodes (MOERTEL::Interface &interface) |
| Get pointers to Nodes attached to this Segment from the Interface this Segment resides on. | |
| bool | GetPtrstoNodes (vector< MOERTEL::Node * > &nodes) |
| Get pointers to Nodes attached to this Segment from a vector of Node pointers. | |
| virtual bool | Print () const |
| Print this Segment. | |
| int | GetLocalNodeId (int nid) |
| Get segment-local node id from global node id nid. | |
Pure virtual methods of this class | |
| virtual MOERTEL::Segment * | Clone ()=0 |
| Deep copy the derived class and return pointer to it. | |
| virtual int * | Pack (int *size)=0 |
| Pack some data from this class to an int vector of length size so it can be communicated using MPI. | |
| virtual bool | UnPack (int *pack)=0 |
| Unpack some data an int vector and store data in this class. | |
| virtual double * | BuildNormal (double *xi)=0 |
| Build an outward normal at segment coordinates xi. | |
| virtual double | Area ()=0 |
| Compute and return the area of this Segment. | |
| virtual double | Metric (double *xi, double g[], double G[][3])=0 |
| Build the basis vectors and metric tensor at a given local coord in this segment. | |
| virtual bool | LocalCoordinatesOfNode (int lid, double *xi)=0 |
| Get local coords of a node attached to this segment with local node Id lid. | |
Protected Attributes | |
| int | Id_ |
| int | outputlevel_ |
| vector< int > | nodeId_ |
| vector< MOERTEL::Node * > | nodeptr_ |
| SegmentType | stype_ |
| map< int, RefCountPtr< MOERTEL::Function > > | functions_ |
This class serves as a (not pure) virtual base class to several types of interface segments.
The MOERTEL::Segment class supports the ostream& operator <<
|
|
Type of segment.
|
|
||||||||||||||||||||
|
Standard Constructor.
|
|
|
Empty Constructor. This constructor is used together with Pack and UnPack for communicating segments
|
|
|
Copy Constructor. Makes a deep copy of a Segment |
|
|
Build normal at a node adjacent to this Segment.
|
|
||||||||||||||||||||||||
|
Evaluate a function with a certain id. Will evaluate the function with Id id at a given local coordinate
|
|
|
Return FunctionType of a function with the Id id.
|
|
||||||||||||
|
Attach a function to this Segment. Will attach a function to this Segment under the function Id id. Segment will not take ownership of func but will store a deep copy
|
1.3.9.1