![]() |
Chaste Commit::675f9facbe008c5eacb9006feaeb6423206579ea
|
#include <ImmersedBoundaryElement.hpp>
Inheritance diagram for ImmersedBoundaryElement< ELEMENT_DIM, SPACE_DIM >:
Collaboration diagram for ImmersedBoundaryElement< ELEMENT_DIM, SPACE_DIM >:Public Member Functions | |
| ImmersedBoundaryElement (unsigned index, const std::vector< Node< SPACE_DIM > * > &rNodes) | |
| virtual | ~ImmersedBoundaryElement () |
| void | SetFluidSource (std::shared_ptr< FluidSource< SPACE_DIM > > fluidSource) |
| std::shared_ptr< FluidSource< SPACE_DIM > > | GetFluidSource () |
| std::vector< Node< SPACE_DIM > * > & | rGetCornerNodes () |
| double | GetAverageNodeSpacing () |
| void | SetAverageNodeSpacing (double averageNodeSpacing) |
| virtual bool | IsElementOnBoundary () const |
| void | SetIsBoundaryElement (bool isBoundaryElement) |
| void | AddCornerNode (Node< SPACE_DIM > *node) |
Public Member Functions inherited from MutableElement< ELEMENT_DIM, SPACE_DIM > | |
| MutableElement (unsigned index) | |
| MutableElement (unsigned index, const std::vector< Node< SPACE_DIM > * > &rNodes) | |
| virtual | ~MutableElement () |
| void | RegisterWithNodes () |
| void | MarkAsDeleted () |
| void | ResetIndex (unsigned index) |
| void | UpdateNode (const unsigned &rIndex, Node< SPACE_DIM > *pNode) |
| void | DeleteNode (const unsigned &rIndex) |
| void | AddNode (Node< SPACE_DIM > *pNode, const unsigned &rIndex) |
| unsigned | GetNodeLocalIndex (unsigned globalIndex) const |
| void | RegisterWithEdges () |
| void | RebuildEdges () |
| void | SetEdgeHelper (EdgeHelper< SPACE_DIM > *pEdgeHelper) |
| void | ClearEdges () |
| void | BuildEdges () |
| unsigned | GetEdgeGlobalIndex (unsigned localIndex) const |
| Edge< SPACE_DIM > * | GetEdge (unsigned localIndex) const |
| unsigned | GetNumEdges () const |
| std::set< unsigned > | GetNeighbouringElementAtEdgeIndex (unsigned localIndex) |
| bool | ContainsEdge (const Edge< SPACE_DIM > *pEdge) const |
| long | GetLocalEdgeIndex (const Edge< SPACE_DIM > *pEdge) const |
Public Member Functions inherited from AbstractElement< ELEMENT_DIM, SPACE_DIM > | |
| AbstractElement (unsigned index, const std::vector< Node< SPACE_DIM > * > &rNodes) | |
| AbstractElement (unsigned index=INDEX_IS_NOT_USED) | |
| virtual | ~AbstractElement () |
| void | ReplaceNode (Node< SPACE_DIM > *pOldNode, Node< SPACE_DIM > *pNewNode) |
| double | GetNodeLocation (unsigned localIndex, unsigned dimension) const |
| c_vector< double, SPACE_DIM > | GetNodeLocation (unsigned localIndex) const |
| unsigned | GetNodeGlobalIndex (unsigned localIndex) const |
| Node< SPACE_DIM > * | GetNode (unsigned localIndex) const |
| unsigned | GetNumNodes () const |
| void | AddNode (Node< SPACE_DIM > *pNode) |
| bool | IsDeleted () const |
| unsigned | GetIndex () const |
| void | SetIndex (unsigned index) |
| bool | GetOwnership () const |
| void | SetOwnership (bool ownership) |
| void | SetAttribute (double attribute) |
| double | GetAttribute () |
| unsigned | GetUnsignedAttribute () |
| void | AddElementAttribute (double attribute) |
| std::vector< double > & | rGetElementAttributes () |
| unsigned | GetNumElementAttributes () |
Private Member Functions | |
| template<class Archive > | |
| void | serialize (Archive &archive, const unsigned int version) |
Private Attributes | |
| std::shared_ptr< FluidSource< SPACE_DIM > > | mpFluidSource |
| std::vector< Node< SPACE_DIM > * > | mCornerNodes |
| double | mAverageNodeSpacing |
| bool | mIsBoundaryElement |
Friends | |
| class | boost::serialization::access |
Additional Inherited Members | |
Protected Member Functions inherited from AbstractElement< ELEMENT_DIM, SPACE_DIM > | |
| void | ConstructElementAttributes () |
Protected Attributes inherited from MutableElement< ELEMENT_DIM, SPACE_DIM > | |
| std::vector< Edge< SPACE_DIM > * > | mEdges |
| EdgeHelper< SPACE_DIM > * | mEdgeHelper |
Protected Attributes inherited from AbstractElement< ELEMENT_DIM, SPACE_DIM > | |
| std::vector< Node< SPACE_DIM > * > | mNodes |
| unsigned | mIndex |
| bool | mIsDeleted |
| bool | mOwnership |
| ElementAttributes< ELEMENT_DIM, SPACE_DIM > * | mpElementAttributes |
An element class for use in the ImmersedBoundaryMesh class. The main difference between this and the Element class is that a ImmersedBoundaryElement can have a variable number of nodes associated with it.
Definition at line 53 of file ImmersedBoundaryElement.hpp.
| ImmersedBoundaryElement< ELEMENT_DIM, SPACE_DIM >::ImmersedBoundaryElement | ( | unsigned | index, |
| const std::vector< Node< SPACE_DIM > * > & | rNodes | ||
| ) |
Constructor.
| index | global index of the element |
| rNodes | vector of Nodes associated with the element |
Definition at line 40 of file ImmersedBoundaryElement.cpp.
References NEVER_REACHED.
|
virtual |
Destructor.
Definition at line 59 of file ImmersedBoundaryElement.cpp.
| void ImmersedBoundaryElement< ELEMENT_DIM, SPACE_DIM >::AddCornerNode | ( | Node< SPACE_DIM > * | node | ) |
| node | the node to add as a corner node |
Definition at line 106 of file ImmersedBoundaryElement.cpp.
| double ImmersedBoundaryElement< ELEMENT_DIM, SPACE_DIM >::GetAverageNodeSpacing | ( | ) |
Definition at line 82 of file ImmersedBoundaryElement.cpp.
| std::shared_ptr< FluidSource< SPACE_DIM > > ImmersedBoundaryElement< ELEMENT_DIM, SPACE_DIM >::GetFluidSource | ( | ) |
Get the fluid source associated with this element
Definition at line 70 of file ImmersedBoundaryElement.cpp.
Referenced by ImmersedBoundaryMesh< ELEMENT_DIM, SPACE_DIM >::DivideElement().
|
virtual |
Overridden method to get whether or not the element is on the boundary.
Reimplemented from MutableElement< ELEMENT_DIM, SPACE_DIM >.
Definition at line 94 of file ImmersedBoundaryElement.cpp.
| std::vector< Node< SPACE_DIM > * > & ImmersedBoundaryElement< ELEMENT_DIM, SPACE_DIM >::rGetCornerNodes | ( | ) |
Don't forget to assign the result of this call to a reference!
Definition at line 76 of file ImmersedBoundaryElement.cpp.
Referenced by ImmersedBoundaryMesh< ELEMENT_DIM, SPACE_DIM >::DivideElement().
|
inlineprivate |
Serialize the object and its member variables.
Note that serialization of the mesh and cells is handled by load/save_construct_data.
Note also that member data related to writers is not saved - output must be set up again by the caller after a restart.
| archive | the archive |
| version | the current version of this class |
Definition at line 84 of file ImmersedBoundaryElement.hpp.
| void ImmersedBoundaryElement< ELEMENT_DIM, SPACE_DIM >::SetAverageNodeSpacing | ( | double | averageNodeSpacing | ) |
| averageNodeSpacing | the new average node spacing. |
Definition at line 88 of file ImmersedBoundaryElement.cpp.
| void ImmersedBoundaryElement< ELEMENT_DIM, SPACE_DIM >::SetFluidSource | ( | std::shared_ptr< FluidSource< SPACE_DIM > > | fluidSource | ) |
Set mpFluidSource.
| fluidSource | the fluid source associated with this element |
Definition at line 64 of file ImmersedBoundaryElement.cpp.
| void ImmersedBoundaryElement< ELEMENT_DIM, SPACE_DIM >::SetIsBoundaryElement | ( | bool | isBoundaryElement | ) |
| isBoundaryElement | whether the element is on the boundary |
Definition at line 100 of file ImmersedBoundaryElement.cpp.
Referenced by ImmersedBoundaryHoneycombMeshGenerator::ImmersedBoundaryHoneycombMeshGenerator(), and ImmersedBoundaryMesh< ELEMENT_DIM, SPACE_DIM >::TagBoundaryElements().
Needed for serialization.
Definition at line 64 of file ImmersedBoundaryElement.hpp.
|
private |
The average node spacing.
Definition at line 67 of file ImmersedBoundaryElement.hpp.
|
private |
Corner nodes associated with this element.
Definition at line 61 of file ImmersedBoundaryElement.hpp.
|
private |
Whether this element is on the boundary. This is a non-local property so must be calculated by the mesh.
Definition at line 70 of file ImmersedBoundaryElement.hpp.
|
private |
Fluid source associated with this element.
Definition at line 58 of file ImmersedBoundaryElement.hpp.