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

#include <magneticParticle3D.h>

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

Public Member Functions

 SimulateParticles (ParticleSystem3D< T, MagneticParticle3D > *ps)
 
void simulate (T dT, bool scale=false)
 
void simulateWithTwoWayCoupling_Mathias (T dT, ForwardCouplingModel< T, MagneticParticle3D > &forwardCoupling, BackCouplingModel< T, MagneticParticle3D > &backCoupling, int material, int subSteps=1, bool scale=false)
 
void simulateWithTwoWayCoupling_Davide (T dT, ForwardCouplingModel< T, MagneticParticle3D > &forwardCoupling, BackCouplingModel< T, MagneticParticle3D > &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, MagneticParticle3D >

Definition at line 110 of file magneticParticle3D.h.

Constructor & Destructor Documentation

◆ SimulateParticles()

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

Definition at line 226 of file magneticParticle3D.hh.

227 : _pSys(ps)
228{ }

Member Function Documentation

◆ simulate() [1/2]

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

Definition at line 231 of file magneticParticle3D.hh.

232{
233 _pSys->resetMag();
234 _pSys->computeForce();
235 _pSys->explicitEuler(dT, scale);
236 _pSys->integrateTorqueMag(dT);
237
238#ifdef CollisionModels
239 _pSys->partialElasticImpact(0.67);
240#endif
241}

◆ simulate() [2/2]

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

Definition at line 280 of file magneticParticle3D.hh.

281{
282 _pSys->resetMag(sActivityOfParticle);
283 _pSys->computeForce(sActivityOfParticle);
284 _pSys->explicitEuler(dT, sActivityOfParticle, scale);
285 _pSys->integrateTorqueMag(dT, sActivityOfParticle);
286
287#ifdef CollisionModels
288 _pSys->partialElasticImpact(0.67);
289#endif
290
291#ifdef CollisionModelsCombindedWithMechContactForce
292 _pSys->partialElasticImpactForCombinationWithMechContactForce(0.67);
293#endif
294}

◆ simulateWithTwoWayCoupling_Davide()

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

Definition at line 262 of file magneticParticle3D.hh.

266{
267 for (int iSubStep=1; iSubStep<=subSteps; iSubStep++) {
268 if (! _pSys->executeForwardCoupling(forwardCoupling) ) {
269 std::cout << " on substep " << iSubStep << std::endl;
271 }
272 _pSys->computeForce();
273 _pSys->explicitEuler(dT/(T)(subSteps), scale);
274 //_pSys->rungeKutta4(dT/(T)(subSteps));
275 _pSys->executeBackwardCoupling(backCoupling, material, subSteps);
276 }
277}
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, MagneticParticle3D >::simulateWithTwoWayCoupling_Mathias ( T dT,
ForwardCouplingModel< T, MagneticParticle3D > & forwardCoupling,
BackCouplingModel< T, MagneticParticle3D > & backCoupling,
int material,
int subSteps = 1,
bool scale = false )
inline

Definition at line 244 of file magneticParticle3D.hh.

248{
249 for (int iSubStep=1; iSubStep<=subSteps; iSubStep++) {
250 if (! _pSys->executeForwardCoupling(forwardCoupling) ) {
251 std::cout << " on substep " << iSubStep << std::endl;
253 }
254 _pSys->computeForce();
255 _pSys->explicitEuler(dT/(T)(subSteps), scale);
256 //_pSys->rungeKutta4(dT/(T)(subSteps));
257 }
258 _pSys->executeBackwardCoupling(backCoupling, material);
259}

References olb::singleton::exit().

+ Here is the call graph for this function:

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