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

#include <particle3D.h>

+ Inheritance diagram for olb::SimulateParticles< T, PARTICLETYPE >:
+ Collaboration diagram for olb::SimulateParticles< T, PARTICLETYPE >:

Public Member Functions

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

Detailed Description

template<typename T, template< typename U > class PARTICLETYPE>
class olb::SimulateParticles< T, PARTICLETYPE >

Definition at line 144 of file particle3D.h.

Constructor & Destructor Documentation

◆ SimulateParticles()

template<typename T , template< typename U > class PARTICLETYPE>
olb::SimulateParticles< T, PARTICLETYPE >::SimulateParticles ( ParticleSystem3D< T, PARTICLETYPE > * ps)

Definition at line 550 of file particle3D.hh.

551 : _pSys(ps)
552 { }

Member Function Documentation

◆ simulate() [1/2]

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

Definition at line 555 of file particle3D.hh.

556 {
557 _pSys->computeForce();
558 _pSys->explicitEuler(dT, scale);
559 //_pSys->rungeKutta4(dT);
560 }

◆ simulate() [2/2]

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

Definition at line 563 of file particle3D.hh.

564 {
565 simulate(dT, scale);
566 }
void simulate(T dT, bool scale=false)

◆ simulateWithTwoWayCoupling_Davide()

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

Definition at line 587 of file particle3D.hh.

591 {
592 for (int iSubStep=1; iSubStep<=subSteps; iSubStep++) {
593 if (! _pSys->executeForwardCoupling(forwardCoupling) ) {
594 std::cout << " on substep " << iSubStep << std::endl;
596 }
597 _pSys->executeBackwardCoupling(backCoupling, material, subSteps);
598 _pSys->computeForce();
599 _pSys->explicitEuler(dT/(T)(subSteps), scale);
600 //_pSys->rungeKutta4(dT/(T)(subSteps));
601 }
602 }
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 , template< typename U > class PARTICLETYPE>
void olb::SimulateParticles< T, PARTICLETYPE >::simulateWithTwoWayCoupling_Mathias ( T dT,
ForwardCouplingModel< T, PARTICLETYPE > & forwardCoupling,
BackCouplingModel< T, PARTICLETYPE > & backCoupling,
int material,
int subSteps = 1,
bool scale = false )
inline

Definition at line 569 of file particle3D.hh.

573 {
574 for (int iSubStep=1; iSubStep<=subSteps; iSubStep++) {
575 if (! _pSys->executeForwardCoupling(forwardCoupling) ) {
576 std::cout << " on substep " << iSubStep << std::endl;
578 }
579 _pSys->computeForce();
580 _pSys->explicitEuler(dT/(T)(subSteps), scale);
581 //_pSys->rungeKutta4(dT/(T)(subSteps));
582 }
583 _pSys->executeBackwardCoupling(backCoupling, material);
584 }

References olb::singleton::exit().

+ Here is the call graph for this function:

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