Chaste Release::3.1
|
#include <Node.hpp>
A node in a finite element mesh.
Node< SPACE_DIM >::Node | ( | unsigned | index, |
ChastePoint< SPACE_DIM > | point, | ||
bool | isBoundaryNode = false |
||
) |
There are many ways of creating a node, depending on how you wish to specify its spatial location. Constructor which takes the node's location as a ChastePoint.
index | the index of the node in the mesh |
point | the location of the node in the mesh |
isBoundaryNode | whether the node is a boundary node (defaults to false) |
Definition at line 56 of file Node.cpp.
References ChastePoint< DIM >::rGetLocation().
Node< SPACE_DIM >::Node | ( | unsigned | index, |
bool | isBoundaryNode = false , |
||
double | v1 = 0 , |
||
double | v2 = 0 , |
||
double | v3 = 0 |
||
) |
Constructor which takes the coordinates of the node's location as separate input arguments.
index | the index of the node in the mesh |
isBoundaryNode | whether the node is a boundary node (defaults to false) |
v1 | the x-coordinate of the node in the mesh (defaults to 0) |
v2 | the y-coordinate of the node in the mesh (defaults to 0) |
v3 | the z-coordinate of the node in the mesh (defaults to 0) |
Node< SPACE_DIM >::Node | ( | unsigned | index, |
double * | location, | ||
bool | isBoundaryNode = false |
||
) |
Constructor which takes the coordinates of the node's location as array pointer.
index | the index of the node in the mesh |
isBoundaryNode | whether the node is a boundary node (defaults to false) |
location | address of the x-coordinate of the node in the mesh (other coordinates are assumed to be in contiguous memory) |
Add an boundary element that contains this node.
index | of the element to add. |
Definition at line 202 of file Node.cpp.
Referenced by BoundaryElement< ELEMENT_DIM, SPACE_DIM >::UpdateNode().
Add an element that contains this node.
index | of the element to add. |
Definition at line 176 of file Node.cpp.
Referenced by QuadraticMeshHelper< DIM >::AddInternalNodesToElements(), PottsElement< DIM >::AddNode(), QuadraticMesh< DIM >::ConstructLinearMesh(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::MutableVertexMesh(), MutableElement< ELEMENT_DIM, SPACE_DIM >::UpdateNode(), Element< ELEMENT_DIM, SPACE_DIM >::UpdateNode(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexMesh().
Add an attribute to the list of node attributes.
attribute,: | the value of the attribute to be added |
Definition at line 160 of file Node.cpp.
Referenced by TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().
ContainingBoundaryElementIterator Node< SPACE_DIM >::ContainingBoundaryElementsBegin | ( | ) | const [inline] |
Get a ContainingBoundaryElementIterator pointing to the first containing boundary element
Definition at line 468 of file Node.hpp.
References Node< SPACE_DIM >::mBoundaryElementIndices.
ContainingBoundaryElementIterator Node< SPACE_DIM >::ContainingBoundaryElementsEnd | ( | ) | const [inline] |
Get a ContainingBoundaryElementIterator pointing to one past the last containing boundary element
Definition at line 476 of file Node.hpp.
References Node< SPACE_DIM >::mBoundaryElementIndices.
ContainingElementIterator Node< SPACE_DIM >::ContainingElementsBegin | ( | ) | const [inline] |
Get a ContainingElementIterator pointing to the first containing element
Definition at line 401 of file Node.hpp.
References Node< SPACE_DIM >::mElementIndices.
Referenced by QuadraticMeshHelper< DIM >::AddNodesToBoundaryElements(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::CheckOutwardNormals(), StreeterFibreGenerator< SPACE_DIM >::GetAveragedThicknessLocalNode(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringNodeIndices(), Node< SPACE_DIM >::IsFlagged(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::Update(), and DistanceMapCalculator< ELEMENT_DIM, SPACE_DIM >::WorkOnLocalQueue().
ContainingElementIterator Node< SPACE_DIM >::ContainingElementsEnd | ( | ) | const [inline] |
Get a ContainingElementIterator pointing to one past the last containing element
Definition at line 409 of file Node.hpp.
References Node< SPACE_DIM >::mElementIndices.
Referenced by QuadraticMeshHelper< DIM >::AddNodesToBoundaryElements(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::CheckOutwardNormals(), StreeterFibreGenerator< SPACE_DIM >::GetAveragedThicknessLocalNode(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringNodeIndices(), Node< SPACE_DIM >::IsFlagged(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::Update(), and DistanceMapCalculator< ELEMENT_DIM, SPACE_DIM >::WorkOnLocalQueue().
Get the index of this node in the mesh.
Definition at line 147 of file Node.cpp.
Referenced by RepulsionForce< DIM >::AddForceContribution(), AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::AddForceContribution(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::AddNode(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::AddNode(), QuadraticMeshHelper< DIM >::AddNodesToBoundaryElements(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CalculateRestLengths(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::CheckForT1Swaps(), CellwiseSourcePde< DIM >::ComputeLinearInUCoeffInSourceTermAtNode(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DeleteElementPriorToReMesh(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideEdge(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideElementAlongGivenAxis(), StreeterFibreGenerator< SPACE_DIM >::GetAveragedThicknessLocalNode(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::IdentifySwapType(), LinearParabolicPdeSystemWithCoupledOdeSystemSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::IncrementInterpolatedQuantities(), AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::IncrementInterpolatedQuantities(), LessThanNode< SPACE_DIM >::operator()(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformIntersectionSwap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformNodeMerge(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT1Swap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT2Swap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT3Swap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformVoidRemoval(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::ReMesh(), SemMesh< DIM >::ReMesh(), PottsBasedCellPopulation< DIM >::UpdateCellLocations(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexMesh(), and DistanceMapCalculator< ELEMENT_DIM, SPACE_DIM >::WorkOnLocalQueue().
Get the number of elements in the mesh that contain this node.
Definition at line 220 of file Node.cpp.
Referenced by MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT1Swap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT3Swap(), and PottsBasedCellPopulation< DIM >::UpdateCellLocations().
ChastePoint< SPACE_DIM > Node< SPACE_DIM >::GetPoint | ( | ) | const |
Get the node's location as a ChastePoint.
Definition at line 127 of file Node.cpp.
Referenced by Cylindrical2dVertexMesh::AddNode(), Cylindrical2dMesh::AddNode(), AbstractLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::ComputeLinearInUCoeffInSourceTermAtNode(), AbstractLinearParabolicPdeSystemForCoupledOdeSystem< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::ComputeSourceTermAtNode(), AbstractLinearParabolicPde< ELEMENT_DIM, SPACE_DIM >::ComputeSourceTermAtNode(), and AbstractBoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::GetDirichletBCValue().
Get whether this node is a boundary node.
Definition at line 153 of file Node.cpp.
Referenced by BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::AddDirichletBoundaryCondition(), QuadraticMeshHelper< DIM >::AddNodeToBoundaryElement(), BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::AddPeriodicBoundaryCondition(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMesh(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideEdge(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideElementAlongGivenAxis(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::IdentifySwapType(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT1Swap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT2Swap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT3Swap(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexMesh().
Get whether the node is marked as deleted.
Definition at line 242 of file Node.cpp.
Referenced by AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMesh(), and MutableMesh< ELEMENT_DIM, SPACE_DIM >::DeleteBoundaryNodeAt().
bool Node< SPACE_DIM >::IsFlagged | ( | AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > & | rMesh | ) | [inline] |
Determine if a node lives within a flagged element.
rMesh | the mesh containing the nodes and elements |
Definition at line 319 of file Node.hpp.
References Node< SPACE_DIM >::ContainingElementsBegin(), Node< SPACE_DIM >::ContainingElementsEnd(), and AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetElement().
void Node< SPACE_DIM >::MarkAsDeleted | ( | ) |
Mark the node as having been removed from the mesh.
Definition at line 236 of file Node.cpp.
Referenced by SemMesh< DIM >::DeleteElement().
void Node< SPACE_DIM >::MarkAsInternal | ( | ) |
Mark the node as being internal (not vertex) in a quadratic element.
Definition at line 248 of file Node.cpp.
Referenced by QuadraticMeshHelper< DIM >::AddInternalNodesToElements(), and QuadraticMesh< DIM >::ConstructLinearMesh().
std::set< unsigned > & Node< SPACE_DIM >::rGetContainingElementIndices | ( | ) |
Return a set of indices of elements containing this node as a vertex.
Definition at line 208 of file Node.cpp.
Referenced by MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::CheckForT1Swaps(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::CheckIsVoronoi(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DeleteElementPriorToReMesh(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideEdge(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideElementAlongGivenAxis(), NagaiHondaForce< DIM >::GetAdhesionParameter(), NagaiHondaDifferentialAdhesionForce< DIM >::GetAdhesionParameter(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringElementIndices(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::IdentifySwapType(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformIntersectionSwap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformNodeMerge(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT1Swap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT2Swap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT3Swap(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::Update(), PottsBasedCellPopulation< DIM >::UpdateCellLocations(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexMesh().
const c_vector< double, SPACE_DIM > & Node< SPACE_DIM >::rGetLocation | ( | ) | const |
Get the node's location as a c_vector.
The returned location may not be modified; if you want that functionality use rGetModifiableLocation instead.
Definition at line 133 of file Node.cpp.
Referenced by AbstractFeCableIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >::AssembleOnCableElement(), AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >::AssembleOnElement(), BoxCollection< DIM >::CalculateContainingBox(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CalculateRestLengths(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::CheckOutwardNormals(), FineCoarseMeshPair< DIM >::ComputeFineElementsAndWeightsForCoarseNodes(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMesh(), Cylindrical2dMesh::Cylindrical2dMesh(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideEdge(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideElementAlongGivenAxis(), CryptSimulationBoundaryCondition< DIM >::ImposeBoundaryCondition(), PlaneBoundaryCondition< DIM >::ImposeBoundaryCondition(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformIntersectionSwap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformNodeMerge(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT1Swap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT3Swap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformVoidRemoval(), SemMesh< DIM >::ReMesh(), CryptSimulationBoundaryCondition< DIM >::VerifyBoundaryCondition(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexMesh(), and DistanceMapCalculator< ELEMENT_DIM, SPACE_DIM >::WorkOnLocalQueue().
c_vector< double, SPACE_DIM > & Node< SPACE_DIM >::rGetModifiableLocation | ( | ) |
Get the node's location as a c_vector.
If you modify the returned location, Jacobian and JacobianDeterminant of elements need to be updated.
Don't forget to assign the result of this call to a reference!
Definition at line 140 of file Node.cpp.
Referenced by FineCoarseMeshPair< DIM >::ComputeFineElementsAndWeightsForCoarseNodes(), CryptSimulationBoundaryCondition< DIM >::ImposeBoundaryCondition(), SphereGeometryBoundaryCondition< DIM >::ImposeBoundaryCondition(), PlaneBoundaryCondition< DIM >::ImposeBoundaryCondition(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformNodeMerge(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT1Swap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT3Swap(), and MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformVoidRemoval().
void Node< SPACE_DIM >::serialize | ( | Archive & | archive, |
const unsigned int | version | ||
) | [inline, private] |
Archive the member variables.
archive | the archive |
version | the current version of this class |
Definition at line 100 of file Node.hpp.
References Node< SPACE_DIM >::mRegion.
Set whether this node is a boundary node.
value | whether the node is a boundary node |
Definition at line 120 of file Node.cpp.
Referenced by QuadraticMeshHelper< DIM >::AddNodeToBoundaryElement(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::DeleteBoundaryNodeAt(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DeleteElementPriorToReMesh(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT1Swap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT3Swap(), and MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformVoidRemoval().
Set the index of this node in the mesh.
index | the index of the node |
Definition at line 114 of file Node.cpp.
Referenced by MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::AddNode(), and MutableMesh< ELEMENT_DIM, SPACE_DIM >::AddNode().
void Node< SPACE_DIM >::SetPoint | ( | ChastePoint< SPACE_DIM > | point | ) |
Set the node's location.
Note: setting the point in space is dangerous. Jacobian and JacobianDeterminant of element need to be updated.
point | the new location of the node |
Definition at line 108 of file Node.cpp.
References ChastePoint< DIM >::rGetLocation().
Referenced by MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideEdge().
friend class boost::serialization::access [friend] |
std::set<unsigned> Node< SPACE_DIM >::mBoundaryElementIndices [private] |
Set of indices of boundary elements containing this node as a vertex.
Definition at line 86 of file Node.hpp.
Referenced by Node< SPACE_DIM >::ContainingBoundaryElementsBegin(), and Node< SPACE_DIM >::ContainingBoundaryElementsEnd().
std::set<unsigned> Node< SPACE_DIM >::mElementIndices [private] |
Set of indices of elements containing this node as a vertex.
Definition at line 83 of file Node.hpp.
Referenced by Node< SPACE_DIM >::ContainingElementsBegin(), and Node< SPACE_DIM >::ContainingElementsEnd().
bool Node< SPACE_DIM >::mIsBoundaryNode [private] |
bool Node< SPACE_DIM >::mIsDeleted [private] |
Whether this node has been deleted, and hence whether its location in the mesh can be re-used. (For use in MutableMesh)
bool Node< SPACE_DIM >::mIsInternal [private] |
Whether this node is an internal node. (For use with QuadraticMesh)
std::vector<double> Node< SPACE_DIM >::mNodeAttributes [private] |