A class to handle the projection of a node onto some segment More...
#include <mrtr_pnode.H>
Public Member Functions | |
ProjectedNode (const MOERTEL::Node &basenode, const double *xi, MOERTEL::Segment *pseg) | |
Constructor. More... | |
ProjectedNode (const MOERTEL::Node &basenode, const double *xi, MOERTEL::Segment *pseg, int orthseg) | |
Constructor (case of orthogonal projection only) More... | |
ProjectedNode (MOERTEL::ProjectedNode &old) | |
Copy-Constructor. | |
virtual | ~ProjectedNode () |
Destructor. | |
bool | Print () const |
Print this ProjectedNode and its Node. | |
double * | Xi () |
Return view of the local coordinates of the projection in the segment. | |
MOERTEL::Segment * | Segment () |
Return pointer to segment this projection is in. | |
int | OrthoSegment () |
Return id of segment this projection is orthogonal to (might be different from Segment() ) | |
Public Member Functions inherited from MOERTEL::Node | |
Node (int Id, const double *x, int ndof, const int *dof, bool isonboundary, int out) | |
Constructor. More... | |
Node (int out) | |
Constructor. More... | |
Node (const MOERTEL::Node &old) | |
Copy-Constructor. More... | |
virtual | ~Node () |
Destructor. | |
int | OutLevel () |
Return the level of output written to stdout ( 0 - 10 ) | |
int | Id () const |
Return unique and positive id of this node. | |
bool | Print () const |
Print this node to stdout. | |
void | Reset () |
Reset the internal state of this node and clear integrated values. More... | |
const double * | XCoords () const |
Returns the view (a vector of length 3) to the current coordinates of this node. | |
bool | SetX (double *x) |
Update the coordinates of this Node. More... | |
const double * | Normal () const |
Return pointer to vector of length 3 of normal of this node. | |
bool | SetN (double *n) |
Store a normal in this node. More... | |
int | Ndof () const |
Return the number of degrees of freedom on this node. | |
int | Nlmdof () const |
Return the number of Lagrange mutlipliers on this node. More... | |
const int * | Dof () const |
Return view of degrees of freedom on this node. More... | |
const int * | LMDof () const |
Return view of the Lagrange multipliers on this node. More... | |
int | Nseg () const |
Return the number of segments adjacent to this node. More... | |
int * | SegmentIds () |
Returns a view to the vector of segment ids of segments adjacent to this node. More... | |
MOERTEL::Segment ** | Segments () |
Returns a view to the vector of pointers to segments adjacent to this node. More... | |
bool | AddSegment (int sid) |
Adds a segment id to the list of segments adjacent to this node. More... | |
double * | Pack (int *size) |
Packs most information stored in this node to a double vector for communication with MPI. More... | |
bool | UnPack (double *pack) |
Unpacks information stored in a double vector to an instance of Node. More... | |
bool | BuildAveragedNormal () |
Build averaged normal from adjacent segments at this node. | |
bool | GetPtrstoSegments (MOERTEL::Interface &interface) |
Construct vector of pointers to segments from adjacent segments id list. | |
bool | SetProjectedNode (MOERTEL::ProjectedNode *pnode) |
Store a pointer to a projected node. More... | |
Teuchos::RCP < MOERTEL::ProjectedNode > * | GetProjectedNode (int &length) |
Returns a view of all projected nodes this node owns. More... | |
Teuchos::RCP < MOERTEL::ProjectedNode > | GetProjectedNode () |
Returns a view of the projection of this node. More... | |
bool | SetLagrangeMultiplierId (int LMId) |
Add a Lagrange multiplier id to this node's list. | |
void | AddDValue (double val, int col) |
Add a value to the 'D' map of this node. More... | |
void | AddMValue (double val, int col) |
Add a value to the 'M' map of this node. More... | |
void | AddMmodValue (int row, double val, int col) |
Add a value to the 'M' map of this node. More... | |
Teuchos::RCP< std::map< int, double > > | GetD () |
Get view of the 'D' map of this node. | |
Teuchos::RCP< std::map< int, double > > | GetM () |
Get view of the 'M' map of this node. | |
Teuchos::RCP< std::vector < std::map< int, double > > > | GetMmod () |
Get view of the 'Mmod' map of this node. | |
void | SetCorner () |
Set the flag indicating that node is corner node of 1D interface. | |
bool | IsCorner () const |
Query the flag indicating that node is corner node of 1D interface. | |
bool | IsOnBoundary () const |
Query the flag indicating that node is on the boundary of 2D interface. | |
int | NSupportSet () const |
Get number of nodes that support this boundary node. More... | |
void | AddSupportedByNode (MOERTEL::Node *suppnode) |
Add an internal node to the map of nodes supporting this node. More... | |
std::map< int, MOERTEL::Node * > & | GetSupportedByNode () |
Get the map of nodes supporting this node. More... | |
double | Gap () |
Return distance between projection and source node. More... | |
void | SetGap (double gap) |
Sets the distance between projection and source node. More... | |
Protected Member Functions | |
ProjectedNode | operator= (const ProjectedNode &old) |
Protected Member Functions inherited from MOERTEL::Node | |
Node | operator= (const Node &old) |
Protected Attributes | |
double | xi_ [2] |
MOERTEL::Segment * | pseg_ |
int | orthseg_ |
Protected Attributes inherited from MOERTEL::Node | |
int | Id_ |
double | x_ [3] |
double | n_ [3] |
int | outputlevel_ |
bool | iscorner_ |
bool | isonboundary_ |
std::map< int, MOERTEL::Node * > | supportedby_ |
std::vector< int > | dof_ |
std::vector< int > | LMdof_ |
std::vector< int > | seg_ |
std::vector< MOERTEL::Segment * > | segptr_ |
Teuchos::RCP< std::map< int, double > > | Drow_ |
Teuchos::RCP< std::map< int, double > > | Mrow_ |
Teuchos::RCP< std::vector < std::map< int, double > > > | Mmodrow_ |
std::vector< Teuchos::RCP < MOERTEL::ProjectedNode > > | pnode_ |
double | gap_ |
A class to handle the projection of a node onto some segment
The MOERTEL::ProjectedNode class supports the ostream& operator <<
|
explicit |
Constructor.
Constructs an instance of this class.
Note that this is not a collective call as nodes shall only have one owning process.
basenode | : the node this class is the projection of |
xi | : local coordinates of the projection in the segment its projected onto |
pseg | : Segment this projection is located in |
|
explicit |
Constructor (case of orthogonal projection only)
Constructs an instance of this class.
Note that this is not a collective call as nodes shall only have one owning process.
basenode | : the node this class is the projection of |
xi | : local coordinates of the projection in the segment its projected onto |
pseg | : Segment this projection is located in |
orthseg | : id of segment this projection is orthogonal to which might be different from pseg |