OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | List of all members
olb::SimulateParticles< T, HaiderLevenspielParticle3D > Class Template Reference

#include <HaiderLevenspielParticle3D.h>

+ Collaboration diagram for olb::SimulateParticles< T, HaiderLevenspielParticle3D >:

Public Member Functions

 SimulateParticles (ParticleSystem3D< T, HaiderLevenspielParticle3D > *ps)
 
void simulate (T dT, bool scale=false)
 
void simulateWithTwoWayCoupling_Mathias (T dT, ForwardCouplingModel< T, HaiderLevenspielParticle3D > &forwardCoupling, BackCouplingModel< T, HaiderLevenspielParticle3D > &backCoupling, int material, int subSteps=1, bool scale=false)
 
void simulateWithTwoWayCoupling_Davide (T dT, ForwardCouplingModel< T, HaiderLevenspielParticle3D > &forwardCoupling, BackCouplingModel< T, HaiderLevenspielParticle3D > &backCoupling, int material, int subSteps=1, bool scale=false)
 
void simulate (T dT, std::set< int > sActivityOfParticle, bool scale=false)
 

Detailed Description

template<typename T>
class olb::SimulateParticles< T, HaiderLevenspielParticle3D >

Definition at line 102 of file HaiderLevenspielParticle3D.h.

Constructor & Destructor Documentation

◆ SimulateParticles()

template<typename T >
olb::SimulateParticles< T, HaiderLevenspielParticle3D >::SimulateParticles ( ParticleSystem3D< T, HaiderLevenspielParticle3D > * ps)

Definition at line 158 of file HaiderLevenspielParticle3D.hh.

159 : _pSys(ps)
160{ }

Member Function Documentation

◆ simulate() [1/2]

template<typename T >
void olb::SimulateParticles< T, HaiderLevenspielParticle3D >::simulate ( T dT,
bool scale = false )
inline

Definition at line 163 of file HaiderLevenspielParticle3D.hh.

164{
165 //std::cout << "SimulateParticles<T,HaiderLevenspielParticle3D>::simulate" << std::endl;
166 //_pSys->resetMag();
167 _pSys->computeForce();
168 //std::cout << "SimulateParticles<T,HaiderLevenspielParticle3D>::simulate after compute force" << std::endl;
169 _pSys->explicitEuler(dT, scale);
170 // _pSys->analytical(dT, scale);
171 //_pSys->rungeKutta4(dT);
172 //std::cout << "SimulateParticles<T,HaiderLevenspielParticle3D>::simulate after explicit euler" << std::endl;
173/*
174#ifdef CollisionModels
175 _pSys->partialElasticImpact(0.67);
176#endif*/
177//std::cout << "SimulateParticles<T,HaiderLevenspielParticle3D>::simulate after compute force" << std::endl;
178}

◆ simulate() [2/2]

template<typename T >
void olb::SimulateParticles< T, HaiderLevenspielParticle3D >::simulate ( T dT,
std::set< int > sActivityOfParticle,
bool scale = false )
inline

Definition at line 217 of file HaiderLevenspielParticle3D.hh.

218{
219 _pSys->resetMag(sActivityOfParticle);
220 _pSys->computeForce(sActivityOfParticle);
221 _pSys->explicitEuler(dT, sActivityOfParticle, scale);
222 _pSys->integrateTorqueMag(dT, sActivityOfParticle);
223
224#ifdef CollisionModels
225 _pSys->partialElasticImpact(0.67);
226#endif
227
228#ifdef CollisionModelsCombindedWithMechContactForce
229 _pSys->partialElasticImpactForCombinationWithMechContactForce(0.67);
230#endif
231}

◆ simulateWithTwoWayCoupling_Davide()

template<typename T >
void olb::SimulateParticles< T, HaiderLevenspielParticle3D >::simulateWithTwoWayCoupling_Davide ( T dT,
ForwardCouplingModel< T, HaiderLevenspielParticle3D > & forwardCoupling,
BackCouplingModel< T, HaiderLevenspielParticle3D > & backCoupling,
int material,
int subSteps = 1,
bool scale = false )
inline

Definition at line 199 of file HaiderLevenspielParticle3D.hh.

203{
204 for (int iSubStep=1; iSubStep<=subSteps; iSubStep++) {
205 if (! _pSys->executeForwardCoupling(forwardCoupling) ) {
206 std::cout << " on substep " << iSubStep << std::endl;
208 }
209 _pSys->computeForce();
210 _pSys->explicitEuler(dT/(T)(subSteps), scale);
211 //_pSys->rungeKutta4(dT/(T)(subSteps));
212 _pSys->executeBackwardCoupling(backCoupling, material, subSteps);
213 }
214}
void exit(int exitcode)
Definition singleton.h:165

References olb::singleton::exit().

+ Here is the call graph for this function:

◆ simulateWithTwoWayCoupling_Mathias()

template<typename T >
void olb::SimulateParticles< T, HaiderLevenspielParticle3D >::simulateWithTwoWayCoupling_Mathias ( T dT,
ForwardCouplingModel< T, HaiderLevenspielParticle3D > & forwardCoupling,
BackCouplingModel< T, HaiderLevenspielParticle3D > & backCoupling,
int material,
int subSteps = 1,
bool scale = false )
inline

Definition at line 181 of file HaiderLevenspielParticle3D.hh.

185{
186 for (int iSubStep=1; iSubStep<=subSteps; iSubStep++) {
187 if (! _pSys->executeForwardCoupling(forwardCoupling) ) {
188 std::cout << " on substep " << iSubStep << std::endl;
190 }
191 _pSys->computeForce();
192 _pSys->explicitEuler(dT/(T)(subSteps), scale);
193 //_pSys->rungeKutta4(dT/(T)(subSteps));
194 }
195 _pSys->executeBackwardCoupling(backCoupling, material);
196}

References olb::singleton::exit().

+ Here is the call graph for this function:

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