Chaste Commit::8b5d759ac2eb95e67ae57699734101efccb0a0a9
ImmersedBoundaryElement< 1, SPACE_DIM > Class Template Reference

#include <ImmersedBoundaryElement.hpp>

+ Inheritance diagram for ImmersedBoundaryElement< 1, SPACE_DIM >:
+ Collaboration diagram for ImmersedBoundaryElement< 1, SPACE_DIM >:

Public Member Functions

 ImmersedBoundaryElement (unsigned index, const std::vector< Node< SPACE_DIM > * > &rNodes)
 
void SetFluidSource (std::shared_ptr< FluidSource< SPACE_DIM > > fluidSource)
 
std::shared_ptr< FluidSource< SPACE_DIM > > GetFluidSource (void)
 
std::vector< Node< SPACE_DIM > * > & rGetCornerNodes ()
 
double GetAverageNodeSpacing ()
 
void SetAverageNodeSpacing (double averageNodeSpacing)
 
virtual bool IsElementOnBoundary () const
 
void SetIsBoundaryElement (bool isBoundaryElement)
 
- Public Member Functions inherited from MutableElement< 1, SPACE_DIM >
 MutableElement (unsigned index, const std::vector< Node< SPACE_DIM > * > &rNodes)
 
 MutableElement (unsigned index)
 
virtual ~MutableElement ()
 
void UpdateNode (const unsigned &rIndex, Node< SPACE_DIM > *pNode)
 
void RegisterWithNodes ()
 
void MarkAsDeleted ()
 
void ResetIndex (unsigned index)
 
void DeleteNode (const unsigned &rIndex)
 
void AddNode (Node< SPACE_DIM > *pNode, const unsigned &rIndex)
 
Edge< SPACE_DIM > * GetEdge (unsigned localIndex) const
 
bool ContainsEdge (const Edge< SPACE_DIM > *pEdge) const
 
unsigned GetNumEdges () const
 
void SetEdgeHelper (EdgeHelper< SPACE_DIM > *pEdgeHelper)
 
void BuildEdges ()
 
void ClearEdges ()
 
unsigned GetEdgeGlobalIndex (unsigned localIndex) const
 
std::set< unsignedGetNeighbouringElementAtEdgeIndex (unsigned localIndex)
 
unsigned GetNodeLocalIndex (unsigned globalIndex) const
 
void RegisterWithEdges ()
 
void RebuildEdges ()
 
long GetLocalEdgeIndex (const Edge< SPACE_DIM > *pEdge) const
 
- Public Member Functions inherited from AbstractElement< 1, 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 Attributes

std::shared_ptr< FluidSource< SPACE_DIM > > mpFluidSource
 
std::vector< Node< SPACE_DIM > * > mCornerNodes
 
double mAverageNodeSpacing
 
bool mIsBoundaryElement
 

Additional Inherited Members

- Protected Member Functions inherited from AbstractElement< 1, SPACE_DIM >
void ConstructElementAttributes ()
 
- Protected Attributes inherited from MutableElement< 1, SPACE_DIM >
std::vector< Edge< SPACE_DIM > * > mEdges
 
EdgeHelper< SPACE_DIM > * mEdgeHelper
 
- Protected Attributes inherited from AbstractElement< 1, SPACE_DIM >
std::vector< Node< SPACE_DIM > * > mNodes
 
unsigned mIndex
 
bool mIsDeleted
 
bool mOwnership
 
ElementAttributes< ELEMENT_DIM, SPACE_DIM > * mpElementAttributes
 

Detailed Description

template<unsigned SPACE_DIM>
class ImmersedBoundaryElement< 1, SPACE_DIM >

Specialization for 1d elements so we don't get errors from Boost on some compilers.

Definition at line 164 of file ImmersedBoundaryElement.hpp.

Constructor & Destructor Documentation

◆ ImmersedBoundaryElement()

template<unsigned SPACE_DIM>
ImmersedBoundaryElement< 1, SPACE_DIM >::ImmersedBoundaryElement ( unsigned  index,
const std::vector< Node< SPACE_DIM > * > &  rNodes 
)

Constructor which takes in a vector of nodes.

Parameters
indexthe index of the element in the mesh
rNodesthe nodes owned by the element

Specialization for 1d elements so we don't get errors from Boost on some compilers.

Definition at line 122 of file ImmersedBoundaryElement.cpp.

Member Function Documentation

◆ GetAverageNodeSpacing()

template<unsigned SPACE_DIM>
double ImmersedBoundaryElement< 1, SPACE_DIM >::GetAverageNodeSpacing ( )
Returns
the average node spacing.

Definition at line 150 of file ImmersedBoundaryElement.cpp.

◆ GetFluidSource()

template<unsigned SPACE_DIM>
std::shared_ptr< FluidSource< SPACE_DIM > > ImmersedBoundaryElement< 1, SPACE_DIM >::GetFluidSource ( void  )

Get the fluid source associated with this element

Returns
pointer to the fluiod source

Definition at line 137 of file ImmersedBoundaryElement.cpp.

References EXCEPTION.

◆ IsElementOnBoundary()

template<unsigned SPACE_DIM>
bool ImmersedBoundaryElement< 1, SPACE_DIM >::IsElementOnBoundary ( ) const
virtual

Overridden method to get whether or not the element is on the boundary.

Returns
false.

Reimplemented from MutableElement< 1, SPACE_DIM >.

Definition at line 162 of file ImmersedBoundaryElement.cpp.

◆ rGetCornerNodes()

template<unsigned SPACE_DIM>
std::vector< Node< SPACE_DIM > * > & ImmersedBoundaryElement< 1, SPACE_DIM >::rGetCornerNodes ( )
Returns
the vector of corner nodes.

Don't forget to assign the result of this call to a reference!

Definition at line 144 of file ImmersedBoundaryElement.cpp.

◆ SetAverageNodeSpacing()

template<unsigned SPACE_DIM>
void ImmersedBoundaryElement< 1, SPACE_DIM >::SetAverageNodeSpacing ( double  averageNodeSpacing)
Parameters
averageNodeSpacingthe new average node spacing.

Definition at line 156 of file ImmersedBoundaryElement.cpp.

◆ SetFluidSource()

template<unsigned SPACE_DIM>
void ImmersedBoundaryElement< 1, SPACE_DIM >::SetFluidSource ( std::shared_ptr< FluidSource< SPACE_DIM > >  fluidSource)

Set mpFluidSource

Parameters
fluidSourcea shared pointer to the fluid source associated with this element

Definition at line 131 of file ImmersedBoundaryElement.cpp.

References EXCEPTION.

◆ SetIsBoundaryElement()

template<unsigned SPACE_DIM>
void ImmersedBoundaryElement< 1, SPACE_DIM >::SetIsBoundaryElement ( bool  isBoundaryElement)
Parameters
isBoundaryElementwhether the element is on the boundary

Definition at line 168 of file ImmersedBoundaryElement.cpp.

Member Data Documentation

◆ mAverageNodeSpacing

template<unsigned SPACE_DIM>
double ImmersedBoundaryElement< 1, SPACE_DIM >::mAverageNodeSpacing
private

The average node spacing.

Definition at line 175 of file ImmersedBoundaryElement.hpp.

◆ mCornerNodes

template<unsigned SPACE_DIM>
std::vector<Node<SPACE_DIM>*> ImmersedBoundaryElement< 1, SPACE_DIM >::mCornerNodes
private

Corner nodes associated with this element.

Definition at line 172 of file ImmersedBoundaryElement.hpp.

◆ mIsBoundaryElement

template<unsigned SPACE_DIM>
bool ImmersedBoundaryElement< 1, SPACE_DIM >::mIsBoundaryElement
private

Whether this element is on the boundary. This is a non-local property so must be calculated by the mesh.

Definition at line 178 of file ImmersedBoundaryElement.hpp.

◆ mpFluidSource

template<unsigned SPACE_DIM>
std::shared_ptr<FluidSource<SPACE_DIM> > ImmersedBoundaryElement< 1, SPACE_DIM >::mpFluidSource
private

Fluid source associated with this element.

Definition at line 169 of file ImmersedBoundaryElement.hpp.


The documentation for this class was generated from the following files: