Public Types | Public Member Functions | Protected Attributes

OpenTissue::sph::Particle< real_, Vector, Radius > Class Template Reference

#include <sph_particle.h>

List of all members.

Public Types

typedef real_ real_type
typedef Vector< real_typevector
typedef vector point_type

Public Member Functions

 Particle ()
virtual ~Particle ()
point_type min () const
point_type max () const
bool check (const point_type &candidate) const
const point_typeposition () const
point_typeposition ()
const point_typeposition_old () const
point_typeposition_old ()
const vectorvelocity () const
vectorvelocity ()
const vectoracceleration () const
vectoracceleration ()
const vectorforce () const
vectorforce ()
const real_typemass () const
real_typemass ()
const real_typedensity () const
real_typedensity ()
const real_typepressure () const
real_typepressure ()
const vectornormal () const
vectornormal ()
const bool & fixed () const
bool & fixed ()
const real_typeradius () const

Protected Attributes

real_type m_radius
 Radius point.
real_type m_radiusSqr
 Radius point.
point_type m_x
 Current position.
point_type m_o
 Old position.
vector m_v
 Current velocity.
vector m_a
 Current acceleration.
vector m_f
 Current sum of external forces acting on the particle.
vector m_n
 Surface normal (if close to/on the free surface, else zero).
real_type m_m
 Mass (constant).
real_type m_r
 Density (vary).
real_type m_p
 Pressure (vary).
bool m_fixed
 Is this particle fixe (locked)?

Detailed Description

template<typename real_, template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
class OpenTissue::sph::Particle< real_, Vector, Radius >

Particle Template Class. to use for Smoothed Particle Hydrodynamics [SPH] in the field of Computational Fluid Dynamics [CFD]


Member Typedef Documentation

template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
typedef vector OpenTissue::sph::Particle< real_, Vector, Radius >::point_type
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
typedef real_ OpenTissue::sph::Particle< real_, Vector, Radius >::real_type
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
typedef Vector<real_type> OpenTissue::sph::Particle< real_, Vector, Radius >::vector

Constructor & Destructor Documentation

template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
OpenTissue::sph::Particle< real_, Vector, Radius >::Particle (  )  [inline]
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
virtual OpenTissue::sph::Particle< real_, Vector, Radius >::~Particle (  )  [inline, virtual]

Member Function Documentation

template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
const vector& OpenTissue::sph::Particle< real_, Vector, Radius >::acceleration (  )  const [inline]

Acceleration (read only).

Returns:
const reference to the acceleration vector.
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
vector& OpenTissue::sph::Particle< real_, Vector, Radius >::acceleration (  )  [inline]

Acceleration.

Returns:
reference to the acceleration vector.
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
bool OpenTissue::sph::Particle< real_, Vector, Radius >::check ( const point_type candidate  )  const [inline]

checks if two particles (actually two positions) are within an allowed radius.

template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
const real_type& OpenTissue::sph::Particle< real_, Vector, Radius >::density (  )  const [inline]

Density (read only).

Returns:
const reference to the density value.
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
real_type& OpenTissue::sph::Particle< real_, Vector, Radius >::density (  )  [inline]

Density.

Returns:
reference to the density value.
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
const bool& OpenTissue::sph::Particle< real_, Vector, Radius >::fixed (  )  const [inline]

Fixed (read only).

Returns:
const reference to the surface normal.
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
bool& OpenTissue::sph::Particle< real_, Vector, Radius >::fixed (  )  [inline]

Fixed.

Returns:
reference to the surface normal.
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
const vector& OpenTissue::sph::Particle< real_, Vector, Radius >::force (  )  const [inline]

Force (read only).

Returns:
const reference to the external force vector.
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
vector& OpenTissue::sph::Particle< real_, Vector, Radius >::force (  )  [inline]

Force.

Returns:
reference to the external force vector.
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
const real_type& OpenTissue::sph::Particle< real_, Vector, Radius >::mass (  )  const [inline]

Mass (read only).

Returns:
const reference to the mass scalar.
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
real_type& OpenTissue::sph::Particle< real_, Vector, Radius >::mass (  )  [inline]

Mass.

Returns:
reference to the mass scalar.
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
point_type OpenTissue::sph::Particle< real_, Vector, Radius >::max ( void   )  const [inline]

maximum point used for hashing.

template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
point_type OpenTissue::sph::Particle< real_, Vector, Radius >::min ( void   )  const [inline]

minimum point used for hashing.

template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
const vector& OpenTissue::sph::Particle< real_, Vector, Radius >::normal (  )  const [inline]

Normal (read only).

Returns:
const reference to the surface normal.
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
vector& OpenTissue::sph::Particle< real_, Vector, Radius >::normal (  )  [inline]

Normal.

Returns:
reference to the surface normal.
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
const point_type& OpenTissue::sph::Particle< real_, Vector, Radius >::position (  )  const [inline]

Position (read only).

Returns:
const reference to the current position vector.
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
point_type& OpenTissue::sph::Particle< real_, Vector, Radius >::position (  )  [inline]

Position.

Returns:
reference to the current position vector.
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
const point_type& OpenTissue::sph::Particle< real_, Vector, Radius >::position_old (  )  const [inline]

Position (read only).

Returns:
const reference to the old position vector.
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
point_type& OpenTissue::sph::Particle< real_, Vector, Radius >::position_old (  )  [inline]

Position.

Returns:
reference to the old position vector.
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
const real_type& OpenTissue::sph::Particle< real_, Vector, Radius >::pressure (  )  const [inline]

Pressure (read only).

Returns:
const reference to the pressure value.
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
real_type& OpenTissue::sph::Particle< real_, Vector, Radius >::pressure (  )  [inline]

Pressure.

Returns:
reference to the pressure value.
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
const real_type& OpenTissue::sph::Particle< real_, Vector, Radius >::radius (  )  const [inline]

Fixed.

Returns:
reference to the surface normal.
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
vector& OpenTissue::sph::Particle< real_, Vector, Radius >::velocity (  )  [inline]

Velocity.

Returns:
reference to the velocity vector.
template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
const vector& OpenTissue::sph::Particle< real_, Vector, Radius >::velocity (  )  const [inline]

Velocity (read only).

Returns:
const reference to the velocity vector.

Member Data Documentation

template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
vector OpenTissue::sph::Particle< real_, Vector, Radius >::m_a [protected]

Current acceleration.

template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
vector OpenTissue::sph::Particle< real_, Vector, Radius >::m_f [protected]

Current sum of external forces acting on the particle.

template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
bool OpenTissue::sph::Particle< real_, Vector, Radius >::m_fixed [protected]

Is this particle fixe (locked)?

template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
real_type OpenTissue::sph::Particle< real_, Vector, Radius >::m_m [protected]

Mass (constant).

template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
vector OpenTissue::sph::Particle< real_, Vector, Radius >::m_n [protected]

Surface normal (if close to/on the free surface, else zero).

template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
point_type OpenTissue::sph::Particle< real_, Vector, Radius >::m_o [protected]

Old position.

template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
real_type OpenTissue::sph::Particle< real_, Vector, Radius >::m_p [protected]

Pressure (vary).

template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
real_type OpenTissue::sph::Particle< real_, Vector, Radius >::m_r [protected]

Density (vary).

template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
real_type OpenTissue::sph::Particle< real_, Vector, Radius >::m_radius [protected]

Radius point.

template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
real_type OpenTissue::sph::Particle< real_, Vector, Radius >::m_radiusSqr [protected]

Radius point.

template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
vector OpenTissue::sph::Particle< real_, Vector, Radius >::m_v [protected]

Current velocity.

template<typename real_ , template< typename > class Vector, struct OpenTissue::utility::RuntimeType< real_ > * Radius>
point_type OpenTissue::sph::Particle< real_, Vector, Radius >::m_x [protected]

Current position.


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