35 template<
class CloudType>
46 this->coeffs().template getOrDefault<
word>(
"HdotGradH",
"HdotGradH")
48 HdotGradHInterpPtr_(nullptr),
49 magneticSusceptibility_
51 this->coeffs().getScalar(
"magneticSusceptibility")
56 template<
class CloudType>
63 HdotGradHName_(pf.HdotGradHName_),
64 HdotGradHInterpPtr_(pf.HdotGradHInterpPtr_),
65 magneticSusceptibility_(pf.magneticSusceptibility_)
71 template<
class CloudType>
78 template<
class CloudType>
84 this->
mesh().template lookupObject<volVectorField>(HdotGradHName_);
88 this->owner().
solution().interpolationSchemes(),
99 template<
class CloudType>
103 const typename CloudType::parcelType::trackingData& td,
110 forceSuSp value(
Zero);
112 const interpolation<vector>& HdotGradHInterp = *HdotGradHInterpPtr_;
116 *magneticSusceptibility_/(magneticSusceptibility_ + 3)
117 *HdotGradHInterp.interpolate(
p.coordinates(),
p.currentTetIndices());
const Type & value() const noexcept
Return const reference to value.
const dimensionedScalar mu0
Magnetic constant/permeability of free space: default SI units: [H/m].
virtual void cacheFields(const bool store)
Cache fields.
Calculates particle paramagnetic (magnetic field) force.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
static autoPtr< interpolation< Type > > New(const word &interpolationType, const GeometricField< Type, fvPatchField, volMesh > &psi)
Return a reference to the specified interpolation scheme.
ParamagneticForce(CloudType &owner, const fvMesh &mesh, const dictionary &dict)
Construct from mesh.
Abstract base class for particle forces.
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.
Helper container for force Su and Sp terms.
A class for handling words, derived from Foam::string.
virtual ~ParamagneticForce()
Destructor.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
scalarField Re(const UList< complex > &cmplx)
Extract real component.
Template functions to aid in the implementation of demand driven data.
Mesh data needed to do the Finite Volume discretisation.
Selector class for relaxation factors, solver type and solution.
void deleteDemandDrivenData(DataPtr &dataPtr)
Templated base class for dsmc cloud.
static constexpr const zero Zero
Global zero (0)