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 |
1.8.5