SPHinXsys  alpha version
Classes | Namespaces | Typedefs | Functions
base_particle_dynamics.h File Reference

This is for the base classes of particle dynamics, which describe the interaction between particles. These interactions are used to define
differential operators for surface forces or fluxes in continuum mechanics. More...

#include "base_data_package.h"
#include "sph_data_containers.h"
#include "neighbor_relation.h"
#include "all_body_relations.h"
#include "base_body.h"
#include <functional>

Go to the source code of this file.

Classes

struct  SPH::ReduceSum< ReturnType >
 
struct  SPH::ReduceMax
 
struct  SPH::ReduceMin
 
struct  SPH::ReduceOR
 
struct  SPH::ReduceAND
 
struct  SPH::ReduceLowerBound
 
struct  SPH::ReduceUpperBound
 
class  SPH::GlobalStaticVariables
 A place to put all global variables. More...
 
class  SPH::ParticleDynamics< ReturnType >
 The base class for all particle dynamics This class contains the only two interface functions available for particle dynamics. An specific implementation should be realized. More...
 
class  SPH::DataDelegateEmptyBase
 
class  SPH::DataDelegateSimple< BodyType, ParticlesType, MaterialType >
 prepare data for simple particle dynamics. More...
 
class  SPH::DataDelegateInner< BodyType, ParticlesType, MaterialType, BaseDataDelegateType >
 prepare data for inner particle dynamics More...
 
class  SPH::DataDelegateContact< BodyType, ParticlesType, MaterialType, ContactBodyType, ContactParticlesType, ContactMaterialType, BaseDataDelegateType >
 prepare data for contact particle dynamics More...
 
class  SPH::DataDelegateComplex< BodyType, ParticlesType, MaterialType, ContactBodyType, ContactParticlesType, ContactMaterialType >
 prepare data for complex particle dynamics More...
 
class  SPH::ParticleDynamicsComplex< ParticleDynamicsInnerType, ContactDataType >
 particle dynamics by considering contribution from extra contact bodies More...
 

Namespaces

 SPH
 

Typedefs

typedef std::function< void(size_t, Real)> SPH::ParticleFunctor
 
template<class ReturnType >
using SPH::ReduceFunctor = std::function< ReturnType(size_t, Real)>
 

Functions

void SPH::ParticleIterator (size_t total_real_particles, const ParticleFunctor &particle_functor, Real dt)
 
void SPH::ParticleIterator_parallel (size_t total_real_particles, const ParticleFunctor &particle_functor, Real dt)
 
template<class ReturnType , typename ReduceOperation >
ReturnType SPH::ReduceIterator (size_t total_real_particles, ReturnType temp, ReduceFunctor< ReturnType > &reduce_functor, ReduceOperation &reduce_operation, Real dt=0.0)
 
template<class ReturnType , typename ReduceOperation >
ReturnType SPH::ReduceIterator_parallel (size_t total_real_particles, ReturnType temp, ReduceFunctor< ReturnType > &reduce_functor, ReduceOperation &reduce_operation, Real dt=0.0)
 
void SPH::ParticleIteratorSplittingSweep (SplitCellLists &split_cell_lists, const ParticleFunctor &particle_functor, Real dt)
 
void SPH::ParticleIteratorSplittingSweep_parallel (SplitCellLists &split_cell_lists, const ParticleFunctor &particle_functor, Real dt)
 

Detailed Description

This is for the base classes of particle dynamics, which describe the interaction between particles. These interactions are used to define
differential operators for surface forces or fluxes in continuum mechanics.

Author
Xiangyu Hu, Luhui Han and Chi Zhang