A Node is an ensemble of Dofs located at the same place and addressing the same unknown and shape function label.
More...
#include <Node.hpp>
|
using | shared_ptr = std::shared_ptr<Node> |
| Shared pointer.
|
|
using | vector_shared_ptr = std::vector<shared_ptr> |
| Vector of shared pointers.
|
|
|
class | NodeBearer |
| Friendship to NodeBearer (the only class allowed to create Node object).
|
|
A Node is an ensemble of Dofs located at the same place and addressing the same unknown and shape function label.
A node doesn't store directly an ExtendedUnknown: if the Unknown and the ShapeFunctionLabel are obvious, a same Node might be registered in several FEltSpace for different NumberingSubset.
◆ Node() [1/3]
MoReFEM::Node::Node |
( |
const std::shared_ptr< const NodeBearer > & | node_bearer_ptr, |
|
|
const ExtendedUnknown & | extended_unknown ) |
|
explicit |
Constructor.
- Attention
- I had to make it public as std::make_shared doesn't propagate friendship and weak_ptr construction requires to build it directly as a smart pointer (rather than converting after the fact a raw one) but for all intents and purposes this constructor should be viewed as private: creating Node objects is something only NodeBearer class is allowed to do.
- Parameters
-
[in] | extended_unknown | Unknown addressed by all the dofs in the Node (e.g. 'displacement', 'pressure'). It is here an extended unknown because when it is created it is within a given numbering subset, however it's important to remember a given Node might be related to many numbering subsets in the end (some may be added through RegisterNumberingSubset()). |
[in] | node_bearer_ptr | Pointer to the node bearer onto which the Node is created. |
◆ Node() [2/3]
MoReFEM::Node::Node |
( |
const Node & | rhs | ) |
|
|
delete |
The copy constructor.
- Parameters
-
[in] | rhs | The object from which the construction occurs. |
◆ Node() [3/3]
MoReFEM::Node::Node |
( |
Node && | rhs | ) |
|
|
delete |
The move constructor.
- Parameters
-
[in] | rhs | The object from which the construction occurs. |
◆ operator=() [1/2]
Node & MoReFEM::Node::operator= |
( |
const Node & | rhs | ) |
|
|
delete |
The (copy) operator=.
- Parameters
-
[in] | rhs | The object from which the affectation occurs. |
- Returns
- Reference to the object (to enable chained affectation).
◆ operator=() [2/2]
Node & MoReFEM::Node::operator= |
( |
Node && | rhs | ) |
|
|
delete |
The (move) operator=.
- Parameters
-
[in] | rhs | The object from which the affectation occurs. |
- Returns
- Reference to the object (to enable chained affectation).
◆ Init()
void MoReFEM::Node::Init |
( |
std::size_t | Ndof | ) |
|
This method must be called to fulfill construction of the object.
- Parameters
-
[in] | Ndof | Number of dofs to create. |
The Dof are built there as they need weak pointer to current object - which the constructor can't give directly.
◆ GetDof()
const Dof & MoReFEM::Node::GetDof |
( |
std::size_t | i | ) |
const |
Returns the i -th dof of the list.
- Parameters
-
[in] | i | Position of the Dof in the vector. |
◆ GetDofPtr()
Returns the i -th dof of the list as a smart pointer.
- Parameters
-
[in] | i | Position of the Dof in the vector. |
◆ RegisterNumberingSubset()
Register a numbering subset for the node if it does not exist yet; do nothing otherwise.
- Parameters
-
◆ IsInNumberingSubset()
bool MoReFEM::Node::IsInNumberingSubset |
( |
const NumberingSubset & | numbering_subset | ) |
const |
Returns whether the node belongs to the numbering_subset.
- Parameters
-
◆ GetNodeBearerFromWeakPtr()
std::shared_ptr< const NodeBearer > MoReFEM::Node::GetNodeBearerFromWeakPtr |
( |
| ) |
const |
Return a pointer to the NodeBearer to which the current Node belongs to.
[internal]
No reference on purpose here: node_bearer_ is stored as a weak_ptr not to introduce circular dependency.
- Returns
- Shared pointer to the enclosing NodeBearer.
The documentation for this class was generated from the following file:
- /builds/2mk6rsew/0/MoReFEM/CoreLibrary/MoReFEM/Sources/FiniteElement/Nodes_and_dofs/Node.hpp