Class BoundaryModel_Akinci2012

Inheritance Relationships

Base Type

Class Documentation

class BoundaryModel_Akinci2012 : public SPH::BoundaryModel

The boundary model stores the information required for boundary handling using the approach of Akinci et al. 2012 [AIA+12].

References:

  • [AIA+12] Nadir Akinci, Markus Ihmsen, Gizem Akinci, Barbara Solenthaler, and Matthias Teschner. Versatile rigid-fluid coupling for incompressible SPH. ACM Trans. Graph., 31(4):62:1-62:8, July 2012. URL: http://doi.acm.org/10.1145/2185520.2185558

Public Functions

BoundaryModel_Akinci2012()
virtual ~BoundaryModel_Akinci2012()
inline unsigned int numberOfParticles() const
inline unsigned int getPointSetIndex() const
inline bool isSorted() const
void computeBoundaryVolume()
void resize(const unsigned int numBoundaryParticles)
virtual void reset()
virtual void performNeighborhoodSearchSort()
virtual void saveState(BinaryFileWriter &binWriter)
virtual void loadState(BinaryFileReader &binReader)
void initModel(RigidBodyObject *rbo, const unsigned int numBoundaryParticles, Vector3r *boundaryParticles)
inline FORCE_INLINE Vector3r & getPosition0 (const unsigned int i)
inline FORCE_INLINE const Vector3r & getPosition0 (const unsigned int i) const
inline FORCE_INLINE void setPosition0 (const unsigned int i, const Vector3r &pos)
inline FORCE_INLINE Vector3r & getPosition (const unsigned int i)
inline FORCE_INLINE const Vector3r & getPosition (const unsigned int i) const
inline FORCE_INLINE void setPosition (const unsigned int i, const Vector3r &pos)
inline FORCE_INLINE Vector3r & getVelocity (const unsigned int i)
inline FORCE_INLINE const Vector3r & getVelocity (const unsigned int i) const
inline FORCE_INLINE void setVelocity (const unsigned int i, const Vector3r &vel)
inline FORCE_INLINE const Real & getVolume (const unsigned int i) const
inline FORCE_INLINE Real & getVolume (const unsigned int i)
inline FORCE_INLINE void setVolume (const unsigned int i, const Real &val)

Protected Attributes

bool m_sorted
unsigned int m_pointSetIndex
std::vector<Vector3r> m_x0
std::vector<Vector3r> m_x
std::vector<Vector3r> m_v
std::vector<Real> m_V