Chaste Commit::baa90ac2819b962188b7562f2326be23c47859a7
|
#include <ImmersedBoundaryElement.hpp>
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.