SPH
Classes | Public Member Functions | List of all members
Aggregate Class Reference

Aggregate of particles, moving as a rigid body according to Euler's equations. More...

Inheritance diagram for Aggregate:
Noncopyable

Public Member Functions

 Aggregate ()=default
 Needed due to resize. More...
 
 Aggregate (Storage &storage, const Size particleIdx)
 Single particle. More...
 
 Aggregate (Storage &storage, IndexSequence seq)
 
void add (const Size idx)
 
void remove (const Size idx)
 
void clear ()
 
bool contains (const Size idx) const
 
Size getId () const
 
void spin ()
 Modifies velocities according to saved angular frequency. More...
 
void integrate ()
 Saves angular frequency, sets velocities to COM movement. More...
 
void fixVelocities ()
 
Float mass () const
 
Vector velocity () const
 
void displace (const Vector &offset)
 
Size size () const
 
bool empty () const
 
auto begin () const
 
auto end () const
 
- Public Member Functions inherited from Noncopyable
 Noncopyable ()=default
 
 Noncopyable (const Noncopyable &)=delete
 
 Noncopyable (Noncopyable &&)=default
 
Noncopyableoperator= (const Noncopyable &)=delete
 
Noncopyableoperator= (Noncopyable &&)=default
 

Detailed Description

Aggregate of particles, moving as a rigid body according to Euler's equations.

Todo:
Not owning the particles, bound to a Storage object. Not compatible with mergers.

Definition at line 22 of file AggregateSolver.cpp.

Constructor & Destructor Documentation

◆ Aggregate() [1/3]

Aggregate::Aggregate ( )
default

Needed due to resize.

◆ Aggregate() [2/3]

Aggregate::Aggregate ( Storage storage,
const Size  particleIdx 
)
inline

Single particle.

Definition at line 39 of file AggregateSolver.cpp.

◆ Aggregate() [3/3]

Aggregate::Aggregate ( Storage storage,
IndexSequence  seq 
)
inlineexplicit

Definition at line 45 of file AggregateSolver.cpp.

Member Function Documentation

◆ add()

void Aggregate::add ( const Size  idx)
inline

Definition at line 53 of file AggregateSolver.cpp.

◆ begin()

auto Aggregate::begin ( ) const
inline

Definition at line 241 of file AggregateSolver.cpp.

◆ clear()

void Aggregate::clear ( )
inline

Definition at line 63 of file AggregateSolver.cpp.

◆ contains()

bool Aggregate::contains ( const Size  idx) const
inline

Definition at line 67 of file AggregateSolver.cpp.

◆ displace()

void Aggregate::displace ( const Vector offset)
inline

Definition at line 223 of file AggregateSolver.cpp.

◆ empty()

bool Aggregate::empty ( ) const
inline

Definition at line 237 of file AggregateSolver.cpp.

◆ end()

auto Aggregate::end ( ) const
inline

Definition at line 245 of file AggregateSolver.cpp.

◆ fixVelocities()

void Aggregate::fixVelocities ( )
inline

Definition at line 189 of file AggregateSolver.cpp.

◆ getId()

Size Aggregate::getId ( ) const
inline

Definition at line 71 of file AggregateSolver.cpp.

◆ integrate()

void Aggregate::integrate ( )
inline

Saves angular frequency, sets velocities to COM movement.

Definition at line 121 of file AggregateSolver.cpp.

◆ mass()

Float Aggregate::mass ( ) const
inline

Definition at line 199 of file AggregateSolver.cpp.

◆ remove()

void Aggregate::remove ( const Size  idx)
inline

Definition at line 59 of file AggregateSolver.cpp.

◆ size()

Size Aggregate::size ( ) const
inline

Definition at line 233 of file AggregateSolver.cpp.

◆ spin()

void Aggregate::spin ( )
inline

Modifies velocities according to saved angular frequency.

Definition at line 76 of file AggregateSolver.cpp.

◆ velocity()

Vector Aggregate::velocity ( ) const
inline

Definition at line 208 of file AggregateSolver.cpp.


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