Loading...
Searching...
No Matches
ParticleForce< CloudType > Class Template Reference

Abstract base class for particle forces. More...

#include <ParticleForce.H>

Inheritance diagram for ParticleForce< CloudType >:

Public Types

typedef VectorSpace< Vector< vector >, vector, 2 > returnType
 Convenience typedef for return type.

Public Member Functions

 TypeName ("particleForce")
 Runtime type information.
 declareRunTimeSelectionTable (autoPtr, ParticleForce, dictionary,(CloudType &owner, const fvMesh &mesh, const dictionary &dict),(owner, mesh, dict))
 Declare runtime constructor selection table.
 ParticleForce (CloudType &owner, const fvMesh &mesh, const dictionary &dict, const word &forceType, const bool readCoeffs)
 Construct from mesh.
 ParticleForce (const ParticleForce &pf)
 Construct copy.
virtual autoPtr< ParticleForce< CloudType > > clone () const
 Construct and return a clone.
virtual ~ParticleForce ()
 Destructor.
const CloudTypeowner () const noexcept
 Return const access to the cloud owner.
CloudTypeowner () noexcept
 Return reference to the cloud owner.
const fvMeshmesh () const noexcept
 Return the mesh database.
const dictionarycoeffs () const noexcept
 Return the force coefficients dictionary.
virtual void cacheFields (const bool store)
 Cache fields.
virtual forceSuSp calcCoupled (const typename CloudType::parcelType &p, const typename CloudType::parcelType::trackingData &td, const scalar dt, const scalar mass, const scalar Re, const scalar muc) const
 Calculate the coupled force.
virtual forceSuSp calcNonCoupled (const typename CloudType::parcelType &p, const typename CloudType::parcelType::trackingData &td, const scalar dt, const scalar mass, const scalar Re, const scalar muc) const
 Calculate the non-coupled force.
virtual scalar massAdd (const typename CloudType::parcelType &p, const typename CloudType::parcelType::trackingData &td, const scalar mass) const
 Return the added mass.

Static Public Member Functions

static autoPtr< ParticleForce< CloudType > > New (CloudType &owner, const fvMesh &mesh, const dictionary &dict, const word &forceType)
 Selector.

Detailed Description

template<class CloudType>
class Foam::ParticleForce< CloudType >

Abstract base class for particle forces.

Source files

Definition at line 54 of file ParticleForce.H.

Member Typedef Documentation

◆ returnType

template<class CloudType>
typedef VectorSpace<Vector<vector>, vector, 2> returnType

Convenience typedef for return type.

Definition at line 101 of file ParticleForce.H.

Constructor & Destructor Documentation

◆ ParticleForce() [1/2]

template<class CloudType>
ParticleForce ( CloudType & owner,
const fvMesh & mesh,
const dictionary & dict,
const word & forceType,
const bool readCoeffs )

Construct from mesh.

Definition at line 26 of file ParticleForce.C.

References dict, mesh(), and owner().

Referenced by BrownianMotionForce< CloudType >::BrownianMotionForce(), BrownianMotionForce< CloudType >::BrownianMotionForce(), NonInertialFrameForce< CloudType >::clone(), clone(), SRFForce< CloudType >::clone(), CoulombForce< CloudType >::CoulombForce(), CoulombForce< CloudType >::CoulombForce(), declareRunTimeSelectionTable(), DistortedSphereDragForce< CloudType >::DistortedSphereDragForce(), DistortedSphereDragForce< CloudType >::DistortedSphereDragForce(), ErgunWenYuDragForce< CloudType >::ErgunWenYuDragForce(), ErgunWenYuDragForce< CloudType >::ErgunWenYuDragForce(), GravityForce< CloudType >::GravityForce(), GravityForce< CloudType >::GravityForce(), InterfaceForce< CloudType >::InterfaceForce(), InterfaceForce< CloudType >::InterfaceForce(), LiftForce< CloudType >::LiftForce(), LiftForce< CloudType >::LiftForce(), NonInertialFrameForce< CloudType >::NonInertialFrameForce(), NonInertialFrameForce< CloudType >::NonInertialFrameForce(), NonSphereDragForce< CloudType >::NonSphereDragForce(), NonSphereDragForce< CloudType >::NonSphereDragForce(), ParamagneticForce< CloudType >::ParamagneticForce(), ParamagneticForce< CloudType >::ParamagneticForce(), ParticleForce(), PlessisMasliyahDragForce< CloudType >::PlessisMasliyahDragForce(), PlessisMasliyahDragForce< CloudType >::PlessisMasliyahDragForce(), PressureGradientForce< CloudType >::PressureGradientForce(), PressureGradientForce< CloudType >::PressureGradientForce(), SphereDragForce< CloudType >::SphereDragForce(), SphereDragForce< CloudType >::SphereDragForce(), SRFForce< CloudType >::SRFForce(), SRFForce< CloudType >::SRFForce(), TomiyamaDragForce< CloudType >::TomiyamaDragForce(), TomiyamaDragForce< CloudType >::TomiyamaDragForce(), WenYuDragForce< CloudType >::WenYuDragForce(), and WenYuDragForce< CloudType >::WenYuDragForce().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ParticleForce() [2/2]

template<class CloudType>
ParticleForce ( const ParticleForce< CloudType > & pf)

Construct copy.

Definition at line 49 of file ParticleForce.C.

References ParticleForce().

Here is the call graph for this function:

◆ ~ParticleForce()

template<class CloudType>
~ParticleForce ( )
virtual

Destructor.

Definition at line 60 of file ParticleForce.C.

Member Function Documentation

◆ TypeName()

template<class CloudType>
TypeName ( "particleForce" )

Runtime type information.

◆ declareRunTimeSelectionTable()

template<class CloudType>
declareRunTimeSelectionTable ( autoPtr ,
ParticleForce< CloudType > ,
dictionary ,
(CloudType &owner, const fvMesh &mesh, const dictionary &dict) ,
(owner, mesh, dict)  )

Declare runtime constructor selection table.

References dict, mesh(), owner(), and ParticleForce().

Here is the call graph for this function:

◆ clone()

◆ New()

template<class CloudType>
Foam::autoPtr< Foam::ParticleForce< CloudType > > New ( CloudType & owner,
const fvMesh & mesh,
const dictionary & dict,
const word & forceType )
static

◆ owner() [1/2]

template<class CloudType>
const CloudType & owner ( ) const
inlinenoexcept

Return const access to the cloud owner.

Definition at line 160 of file ParticleForce.H.

References Foam::noexcept.

Referenced by BrownianMotionForce< CloudType >::BrownianMotionForce(), CoulombForce< CloudType >::cacheFields(), InterfaceForce< CloudType >::cacheFields(), LiftForce< CloudType >::cacheFields(), ParamagneticForce< CloudType >::cacheFields(), PressureGradientForce< CloudType >::cacheFields(), BrownianMotionForce< CloudType >::calcCoupled(), LiftForce< CloudType >::Cl(), CoulombForce< CloudType >::CoulombForce(), declareRunTimeSelectionTable(), DistortedSphereDragForce< CloudType >::DistortedSphereDragForce(), ErgunWenYuDragForce< CloudType >::ErgunWenYuDragForce(), GravityForce< CloudType >::GravityForce(), InterfaceForce< CloudType >::InterfaceForce(), LiftForce< CloudType >::LiftForce(), New(), NonInertialFrameForce< CloudType >::NonInertialFrameForce(), NonSphereDragForce< CloudType >::NonSphereDragForce(), ParamagneticForce< CloudType >::ParamagneticForce(), ParticleForce(), PlessisMasliyahDragForce< CloudType >::PlessisMasliyahDragForce(), PressureGradientForce< CloudType >::PressureGradientForce(), SaffmanMeiLiftForce< CloudType >::SaffmanMeiLiftForce(), SphereDragForce< CloudType >::SphereDragForce(), SRFForce< CloudType >::SRFForce(), TomiyamaDragForce< CloudType >::TomiyamaDragForce(), TomiyamaLiftForce< CloudType >::TomiyamaLiftForce(), BrownianMotionForce< CloudType >::TypeName(), CoulombForce< CloudType >::TypeName(), DistortedSphereDragForce< CloudType >::TypeName(), ErgunWenYuDragForce< CloudType >::TypeName(), GravityForce< CloudType >::TypeName(), InterfaceForce< CloudType >::TypeName(), NonInertialFrameForce< CloudType >::TypeName(), NonSphereDragForce< CloudType >::TypeName(), ParamagneticForce< CloudType >::TypeName(), PlessisMasliyahDragForce< CloudType >::TypeName(), PressureGradientForce< CloudType >::TypeName(), SaffmanMeiLiftForce< CloudType >::TypeName(), SphereDragForce< CloudType >::TypeName(), SRFForce< CloudType >::TypeName(), TomiyamaDragForce< CloudType >::TypeName(), TomiyamaLiftForce< CloudType >::TypeName(), VirtualMassForce< CloudType >::TypeName(), WenYuDragForce< CloudType >::TypeName(), VirtualMassForce< CloudType >::VirtualMassForce(), and WenYuDragForce< CloudType >::WenYuDragForce().

Here is the caller graph for this function:

◆ owner() [2/2]

template<class CloudType>
CloudType & owner ( )
inlinenoexcept

Return reference to the cloud owner.

Definition at line 165 of file ParticleForce.H.

References Foam::noexcept.

◆ mesh()

template<class CloudType>
const fvMesh & mesh ( ) const
inlinenoexcept

Return the mesh database.

Definition at line 170 of file ParticleForce.H.

References Foam::noexcept.

Referenced by BrownianMotionForce< CloudType >::BrownianMotionForce(), LiftForce< CloudType >::Cl(), CoulombForce< CloudType >::CoulombForce(), declareRunTimeSelectionTable(), DistortedSphereDragForce< CloudType >::DistortedSphereDragForce(), ErgunWenYuDragForce< CloudType >::ErgunWenYuDragForce(), ErgunWenYuDragForce< CloudType >::ErgunWenYuDragForce(), GravityForce< CloudType >::GravityForce(), InterfaceForce< CloudType >::InterfaceForce(), LiftForce< CloudType >::LiftForce(), New(), NonInertialFrameForce< CloudType >::NonInertialFrameForce(), NonSphereDragForce< CloudType >::NonSphereDragForce(), ParamagneticForce< CloudType >::ParamagneticForce(), ParticleForce(), PlessisMasliyahDragForce< CloudType >::PlessisMasliyahDragForce(), PlessisMasliyahDragForce< CloudType >::PlessisMasliyahDragForce(), PressureGradientForce< CloudType >::PressureGradientForce(), SaffmanMeiLiftForce< CloudType >::SaffmanMeiLiftForce(), SphereDragForce< CloudType >::SphereDragForce(), SRFForce< CloudType >::SRFForce(), TomiyamaDragForce< CloudType >::TomiyamaDragForce(), TomiyamaLiftForce< CloudType >::TomiyamaLiftForce(), BrownianMotionForce< CloudType >::TypeName(), CoulombForce< CloudType >::TypeName(), DistortedSphereDragForce< CloudType >::TypeName(), ErgunWenYuDragForce< CloudType >::TypeName(), GravityForce< CloudType >::TypeName(), InterfaceForce< CloudType >::TypeName(), NonInertialFrameForce< CloudType >::TypeName(), NonSphereDragForce< CloudType >::TypeName(), ParamagneticForce< CloudType >::TypeName(), PlessisMasliyahDragForce< CloudType >::TypeName(), PressureGradientForce< CloudType >::TypeName(), SaffmanMeiLiftForce< CloudType >::TypeName(), SphereDragForce< CloudType >::TypeName(), SRFForce< CloudType >::TypeName(), TomiyamaDragForce< CloudType >::TypeName(), TomiyamaLiftForce< CloudType >::TypeName(), VirtualMassForce< CloudType >::TypeName(), WenYuDragForce< CloudType >::TypeName(), VirtualMassForce< CloudType >::VirtualMassForce(), WenYuDragForce< CloudType >::WenYuDragForce(), and WenYuDragForce< CloudType >::WenYuDragForce().

Here is the caller graph for this function:

◆ coeffs()

◆ cacheFields()

◆ calcCoupled()

template<class CloudType>
Foam::forceSuSp calcCoupled ( const typename CloudType::parcelType & p,
const typename CloudType::parcelType::trackingData & td,
const scalar dt,
const scalar mass,
const scalar Re,
const scalar muc ) const
virtual

◆ calcNonCoupled()

template<class CloudType>
Foam::forceSuSp calcNonCoupled ( const typename CloudType::parcelType & p,
const typename CloudType::parcelType::trackingData & td,
const scalar dt,
const scalar mass,
const scalar Re,
const scalar muc ) const
virtual

Calculate the non-coupled force.

Reimplemented in CoulombForce< CloudType >, GravityForce< CloudType >, InterfaceForce< CloudType >, NonInertialFrameForce< CloudType >, ParamagneticForce< CloudType >, and SRFForce< CloudType >.

Definition at line 91 of file ParticleForce.C.

References Foam::Re(), forceSuSp::Sp(), forceSuSp::Su(), td(), and Foam::Zero.

Here is the call graph for this function:

◆ massAdd()

template<class CloudType>
Foam::scalar massAdd ( const typename CloudType::parcelType & p,
const typename CloudType::parcelType::trackingData & td,
const scalar mass ) const
virtual

Return the added mass.

Reimplemented in PressureGradientForce< CloudType >, and VirtualMassForce< CloudType >.

Definition at line 110 of file ParticleForce.C.

References p, and td().

Here is the call graph for this function:

The documentation for this class was generated from the following files:
  • src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForce.H
  • src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForce.C
  • src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForceNew.C