Moertel Development
Protected Member Functions
MOERTEL::Segment_Linear1D Class Reference

A class to define a 2-noded linear 1D Segment. More...

#include <mrtr_segment_linear1D.H>

Inheritance diagram for MOERTEL::Segment_Linear1D:
Inheritance graph
[legend]
Collaboration diagram for MOERTEL::Segment_Linear1D:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Segment_Linear1D (int id, int nnode, int *nodeId, int out)
 Standard Constructor.
 Segment_Linear1D (int out)
 Empty Constructor.
 Segment_Linear1D (MOERTEL::Segment_Linear1D &old)
 Copy Constructor.
virtual ~Segment_Linear1D ()
 Destructor.
MOERTEL::SegmentClone ()
 Deep copy this instance of Segment_Linear1D 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_Linear1D.
double Metric (double *xi, double g[], double G[][3])
 Build the covariant basis vectors and metric tensor at a given local coord in this segment.
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_Linear1D operator= (const Segment &old)

Detailed Description

A class to define a 2-noded linear 1D Segment.

A class to define a 2-noded linear 1D Segment

Date:
Last update do Doxygen: 20-March-06

This class defines a 2-noded linear 1D interface surface segment.

Important:
Upon construction, the user must assure that the nodes attached to this segment are given in counter-clockwise order:

      <--|       o Node 1
  domain |       | 
       --        | --> outward normal n to Seg 2
                 | 
                 | Seg 2
       Seg 1     |
    o------------o Node 0
   Node 0 |  Node 1
          | 
          | outward normal n to Seg 1
          | 
          v

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_Linear1D class supports the ostream& operator <<

Author:
Glen Hansen (Glen.Hansen@inl.gov)

Constructor & Destructor Documentation

MOERTEL::Segment_Linear1D::Segment_Linear1D ( int  id,
int  nnode,
int *  nodeId,
int  out 
) [explicit]

Standard Constructor.

Parameters:
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 along the interface
outlevel: Level of output to stdout to be generated by this class (0-10)
MOERTEL::Segment_Linear1D::Segment_Linear1D ( int  out) [explicit]

Empty Constructor.

To be used for communicating Segment_Linear1D classes among processes together with Pack and UnPack

MOERTEL::Segment_Linear1D::Segment_Linear1D ( MOERTEL::Segment_Linear1D old)

Copy Constructor.

Makes a deep copy of a Segment_Linear1D


Member Function Documentation

double MOERTEL::Segment_Linear1D::Metric ( double *  xi,
double  g[],
double  G[][3] 
) [virtual]

Build the covariant basis vectors and metric tensor at a given local coord in this segment.

In this case of a 1D segment, there is 1 cov. basis vector and the metric tensor is a scalar representing its length.

Implements MOERTEL::Segment.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Enumerations Friends