CoulombForce< CloudType > Class Template Reference

Particle electric force model involving the Coulomb force calculation. More...

Inheritance diagram for CoulombForce< CloudType >:
Collaboration diagram for CoulombForce< CloudType >:

Public Member Functions

 TypeName ("Coulomb")
 Runtime type information. More...
 
 CoulombForce (CloudType &owner, const fvMesh &mesh, const dictionary &dict)
 Construct from mesh. More...
 
 CoulombForce (const CoulombForce &gf)
 Copy construct. More...
 
void operator= (const CoulombForce< CloudType > &)=delete
 No copy assignment. More...
 
virtual autoPtr< ParticleForce< CloudType > > clone () const
 Construct and return a clone. More...
 
virtual ~CoulombForce ()=default
 Destructor. More...
 
virtual void cacheFields (const bool store)
 Cache fields. More...
 
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. More...
 
- Public Member Functions inherited from ParticleForce< CloudType >
 TypeName ("particleForce")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, ParticleForce, dictionary,(CloudType &owner, const fvMesh &mesh, const dictionary &dict),(owner, mesh, dict))
 Declare runtime constructor selection table. More...
 
 ParticleForce (CloudType &owner, const fvMesh &mesh, const dictionary &dict, const word &forceType, const bool readCoeffs)
 Construct from mesh. More...
 
 ParticleForce (const ParticleForce &pf)
 Construct copy. More...
 
virtual ~ParticleForce ()
 Destructor. More...
 
const CloudTypeowner () const noexcept
 Return const access to the cloud owner. More...
 
CloudTypeowner () noexcept
 Return reference to the cloud owner. More...
 
const fvMeshmesh () const noexcept
 Return the mesh database. More...
 
const dictionarycoeffs () const noexcept
 Return the force coefficients dictionary. More...
 
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. More...
 
virtual scalar massAdd (const typename CloudType::parcelType &p, const typename CloudType::parcelType::trackingData &td, const scalar mass) const
 Return the added mass. More...
 

Additional Inherited Members

- Public Types inherited from ParticleForce< CloudType >
typedef VectorSpace< Vector< vector >, vector, 2 > returnType
 Convenience typedef for return type. More...
 
- Static Public Member Functions inherited from ParticleForce< CloudType >
static autoPtr< ParticleForce< CloudType > > New (CloudType &owner, const fvMesh &mesh, const dictionary &dict, const word &forceType)
 Selector. More...
 

Detailed Description

template<class CloudType>
class Foam::CoulombForce< CloudType >

Particle electric force model involving the Coulomb force calculation.

\[ \vec{F}_\mathrm{E} = q \, \vec{E} \]

where

$ \vec{F}_\mathrm{E} $ = Coulomb force [kg m s^{-2}]
$ q $ = Electric charge of particle [A s]
$ \vec{E} $ = Electric field [kg m^2 A^{-1} s^{-3} m^{-1}]

References:

        Governing equations (tag:YSSD):
            Ye, Q., Steigleder, T., Scheibe, A., & Domnick, J. (2002).
            Numerical simulation of the electrostatic powder coating process
            with a corona spray gun. Journal of Electrostatics, 54(2), 189-205.
            DOI:10.1016/S0304-3886(01)00181-4
Usage
Minimal example by using constant/cloudProperties:
subModels
{
    solution
    {
        interpolationSchemes
        {
            <Ename>     <interpolationScheme>;
        }
    }

    particleForces
    {
        Coulomb
        {
            q       <Function1<scalar>>;
            E       <word>;
        }
    }
}

where the entries mean:

Property Description Type Reqd Deflt
type Type name: Coulomb word yes -
q Electric charge of particles <Function1<scalar> yes -
E Name of electric field word no E
Note
  • Particle electric charge can be input as a function of particle diameter:
        particleForces
        {
            Coulomb
            {
                q   table
                (
                    // d [m]           q [C = A s]
                    (1e-06             -5.0e-11)
                    (1e-05             -1.0e-10)
                );
                E   electricPotential:E;
            }
        }
    
Source files

Definition at line 162 of file CoulombForce.H.

Constructor & Destructor Documentation

◆ CoulombForce() [1/2]

CoulombForce ( CloudType owner,
const fvMesh mesh,
const dictionary dict 
)

Construct from mesh.

Definition at line 59 of file CoulombForce.C.

◆ CoulombForce() [2/2]

CoulombForce ( const CoulombForce< CloudType > &  gf)

Copy construct.

Definition at line 77 of file CoulombForce.C.

◆ ~CoulombForce()

virtual ~CoulombForce ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "Coulomb"  )

Runtime type information.

◆ operator=()

void operator= ( const CoulombForce< CloudType > &  )
delete

No copy assignment.

◆ clone()

virtual autoPtr<ParticleForce<CloudType> > clone ( ) const
inlinevirtual

Construct and return a clone.

Reimplemented from ParticleForce< CloudType >.

Definition at line 226 of file CoulombForce.H.

◆ cacheFields()

void cacheFields ( const bool  store)
virtual

Cache fields.

Reimplemented from ParticleForce< CloudType >.

Definition at line 91 of file CoulombForce.C.

◆ calcNonCoupled()

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 from ParticleForce< CloudType >.

Definition at line 115 of file CoulombForce.C.

References interpolation< Type >::interpolate(), p, and Foam::Zero.

Here is the call graph for this function:

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