Class for managing spherical particles. More...
Public Member Functions | |
sphereParticles (systemControl &control, const property &prop) | |
construct from systemControl and property More... | |
sphereParticles (const sphereParticles &)=delete | |
no copy constructor More... | |
sphereParticles (sphereParticles &&)=default | |
move constructor More... | |
sphereParticles & | operator= (const sphereParticles &)=delete |
no copy-assignement More... | |
sphereParticles & | operator= (sphereParticles &&)=default |
move-assignement More... | |
virtual | ~sphereParticles ()=default |
bool | insertParticles (const realx3Vector &position, const wordVector &shapes, const setFieldList &setField) override |
Insert new particles in position with specified shapes. More... | |
const auto & | shapes () const |
const reference to shapes object More... | |
const auto & | I () const |
const reference to inertia pointField More... | |
auto & | I () |
reference to inertia pointField More... | |
const realx3Vector_D | rVelocity () const |
const realVector_D & | boundingSphere () const override |
word | shapeTypeName () const override |
void | boundingSphereMinMax (real &minDiam, real &maxDiam) const override |
bool | update (const eventMessage &msg) override |
realx3PointField_D & | rAcceleration () override |
const realx3PointField_D & | rAcceleration () const override |
bool | beforeIteration () override |
before iteration step More... | |
bool | iterate () override |
iterate particles More... | |
bool | afterIteration () override |
after iteration step More... | |
![]() | |
TypeInfo ("particles") | |
particles (systemControl &control, const word &integrationMethod) | |
const auto & | time () const |
auto & | time () |
auto | integrationMethod () const |
const auto & | dynPointStruct () const |
auto & | dynPointStruct () |
const auto & | pStruct () const |
auto & | pStruct () |
auto | size () const |
auto | capacity () const |
auto | activePointsMaskD () const |
auto | numActive () const |
bool | allActive () const |
auto | activeRange () const |
auto | activePointsMaskH () const |
const auto & | pointPosition () const |
const auto & | position () const |
const auto & | pointVelocity () const |
const auto & | velocity () const |
const auto & | id () const |
auto & | id () |
const auto & | diameter () const |
auto & | diameter () |
const auto & | mass () const |
auto & | mass () |
const auto & | accelertion () const |
auto & | accelertion () |
realx3PointField_D & | contactForce () |
const realx3PointField_D & | contactForce () const |
realx3PointField_D & | contactTorque () |
const realx3PointField_D & | contactTorque () const |
const auto & | propertyId () const |
auto & | propertyId () |
const auto & | shapeName () const |
auto & | shapName () |
![]() | |
eventObserver () | |
eventObserver (const eventSubscriber &subscriber, bool subscribe=true) | |
virtual | ~eventObserver () |
bool | subscribed () const |
bool | subscribe (const eventSubscriber &subscriber) |
void | invalidateSubscriber () |
![]() | |
demParticles (systemControl &control) | |
![]() | |
TypeInfo ("demComponent") | |
demComponent (const word &name, systemControl &control) | |
virtual | ~demComponent ()=default |
const auto & | control () const |
auto & | control () |
real | dt () const |
real | currentTime () const |
auto & | timers () |
const auto & | timers () const |
Protected Member Functions | |
bool | diameterMassInertiaPropId (const word &shName, real &diam, real &mass, real &I, int8 &propIdx) |
bool | initializeParticles () |
bool | insertSphereParticles (const wordVector &names, const int32IndexContainer &indices) |
virtual uniquePtr< List< eventObserver * > > | getFieldObjectList () const override |
![]() | |
void | zeroForce () |
void | zeroTorque () |
Class for managing spherical particles.
This is a top-level class that contains the essential components for defining spherical prticles in a DEM simulation.
Definition at line 44 of file sphereParticles.hpp.
sphereParticles | ( | systemControl & | control, |
const property & | prop | ||
) |
construct from systemControl and property
Definition at line 219 of file sphereParticles.cpp.
References integration::create(), endREPORT, fatalErrorInFunction, fatalExit, greenText, indexContainer< IndexType >::indicesHost(), sphereParticles::initializeParticles(), particles::integrationMethod(), n, particles::pStruct(), REPORT, sphereParticles::rVelIntegration_, sphereParticles::rVelocity_, indexContainer< IndexType >::size(), and particles::time().
|
delete |
no copy constructor
|
default |
move constructor
|
virtualdefault |
|
protected |
Definition at line 37 of file sphereParticles.cpp.
References pFlow::endl(), fatalErrorInFunction, pFlow::Pi, pFlow::pow(), and pFlow::printKeys().
|
protected |
Definition at line 73 of file sphereParticles.cpp.
Referenced by sphereParticles::sphereParticles().
|
protected |
Definition at line 139 of file sphereParticles.cpp.
References pFlow::endl(), fatalErrorInFunction, ForAll, m, indexContainer< IndexType >::size(), and Vector< T, Allocator >::size().
|
overrideprotectedvirtual |
Reimplemented from particles.
Definition at line 26 of file sphereParticles.cpp.
References particles::getFieldObjectList(), and sphereParticles::I_.
|
delete |
no copy-assignement
|
default |
move-assignement
|
overridevirtual |
Insert new particles in position with specified shapes.
This function is involked by inserted object to insert new set of particles into the simulation.
position | position of new particles |
shape | shape of new particles |
setField | initial value of the selected fields for new particles |
Implements particles.
Definition at line 362 of file sphereParticles.cpp.
References cyanText, endREPORT, fatalErrorInFunction, pStruct, REPORT, Vector< T, Allocator >::size(), and yellowText.
|
inline |
const reference to shapes object
Definition at line 121 of file sphereParticles.hpp.
References sphereParticles::shapes_.
|
inline |
const reference to inertia pointField
Definition at line 127 of file sphereParticles.hpp.
References sphereParticles::I_.
|
inline |
reference to inertia pointField
Definition at line 133 of file sphereParticles.hpp.
References sphereParticles::I_.
|
inline |
Definition at line 138 of file sphereParticles.hpp.
References sphereParticles::rVelocity_.
|
inlineoverridevirtual |
Implements particles.
Definition at line 143 of file sphereParticles.hpp.
References particles::diameter().
|
inlineoverridevirtual |
Implements particles.
Definition at line 148 of file sphereParticles.hpp.
Implements particles.
Definition at line 153 of file sphereParticles.hpp.
References sphereShape::diameterMinMax(), and sphereParticles::shapes_.
|
overridevirtual |
Implements eventObserver.
Definition at line 334 of file sphereParticles.cpp.
|
inlineoverridevirtual |
Implements particles.
Definition at line 163 of file sphereParticles.hpp.
References sphereParticles::rAcceleration_.
|
inlineoverridevirtual |
Implements particles.
Definition at line 168 of file sphereParticles.hpp.
References sphereParticles::rAcceleration_.
|
overridevirtual |
before iteration step
Reimplemented from particles.
Definition at line 84 of file sphereParticles.cpp.
References particles::beforeIteration().
Referenced by main().
|
overridevirtual |
iterate particles
Implements demComponent.
Definition at line 104 of file sphereParticles.cpp.
References pFlow::sphereParticlesKernels::acceleration(), and pStruct.
Referenced by main().
|
overridevirtual |
after iteration step
Implements demComponent.
Definition at line 133 of file sphereParticles.cpp.
Referenced by main().
|
protected |
reference to material properties
Definition at line 51 of file sphereParticles.hpp.
|
protected |
reference to shapes
Definition at line 54 of file sphereParticles.hpp.
Referenced by sphereParticles::boundingSphereMinMax(), and sphereParticles::shapes().
|
protected |
pointField of inertial of particles
Definition at line 57 of file sphereParticles.hpp.
Referenced by sphereParticles::getFieldObjectList(), and sphereParticles::I().
|
protected |
pointField of rotational Velocity of particles on device
Definition at line 60 of file sphereParticles.hpp.
Referenced by sphereParticles::rVelocity(), and sphereParticles::sphereParticles().
|
protected |
pointField of rotational acceleration of particles on device
Definition at line 63 of file sphereParticles.hpp.
Referenced by sphereParticles::rAcceleration().
|
protected |
rotational velocity integrator
Definition at line 66 of file sphereParticles.hpp.
Referenced by sphereParticles::sphereParticles().
|
protected |
timer for acceleration computations
Definition at line 69 of file sphereParticles.hpp.
|
protected |
timer for integration computations (prediction step)
Definition at line 72 of file sphereParticles.hpp.
|
protected |
timer for integration computations (correction step)
Definition at line 75 of file sphereParticles.hpp.