ParticleErosion< CloudType > Class Template Reference

Function object to create a field of eroded volume, Q, on a specified list of patches. The volume is calculated by the model of Finnie et al. The implementation follows the description given by the review of Yadav et al. More...

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

Public Member Functions

 TypeName ("particleErosion")
 Runtime type information. More...
 
 ParticleErosion (const dictionary &dict, CloudType &owner, const word &modelName)
 Construct from dictionary. More...
 
 ParticleErosion (const ParticleErosion< CloudType > &pe)
 Construct copy. More...
 
virtual autoPtr< CloudFunctionObject< CloudType > > clone () const
 Construct and return a clone. More...
 
virtual ~ParticleErosion ()
 Destructor. More...
 
virtual void preEvolve ()
 Pre-evolve hook. More...
 
virtual void postPatch (const parcelType &p, const polyPatch &pp, bool &keepParticle)
 Post-patch hook. More...
 
- Public Member Functions inherited from CloudFunctionObject< CloudType >
 TypeName ("cloudFunctionObject")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, CloudFunctionObject, dictionary,(const dictionary &dict, CloudType &owner, const word &modelName),(dict, owner, modelName))
 Declare runtime constructor selection table. More...
 
 CloudFunctionObject (CloudType &owner)
 Construct null from owner. More...
 
 CloudFunctionObject (const dictionary &dict, CloudType &owner, const word &objectType, const word &modelName)
 Construct from dictionary. More...
 
 CloudFunctionObject (const CloudFunctionObject< CloudType > &ppm)
 Construct copy. More...
 
virtual ~CloudFunctionObject ()
 Destructor. More...
 
virtual void postEvolve ()
 Post-evolve hook. More...
 
virtual void postMove (typename CloudType::parcelType &p, const scalar dt, const point &position0, bool &keepParticle)
 Post-move hook. More...
 
virtual void postPatch (const typename CloudType::parcelType &p, const polyPatch &pp, bool &keepParticle)
 Post-patch hook. More...
 
virtual void postFace (const typename CloudType::parcelType &p, bool &keepParticle)
 Post-face hook. More...
 
const fileNameoutputDir () const
 Return the output path. More...
 
fileName writeTimeDir () const
 Return the output time path. More...
 
- Public Member Functions inherited from CloudSubModelBase< CloudType >
 CloudSubModelBase (CloudType &owner)
 Construct null from owner cloud. More...
 
 CloudSubModelBase (CloudType &owner, const dictionary &dict, const word &baseName, const word &modelType, const word &dictExt="Coeffs")
 Construct from owner cloud without name. More...
 
 CloudSubModelBase (const word &modelName, CloudType &owner, const dictionary &dict, const word &baseName, const word &modelType)
 Construct from owner cloud with name. More...
 
 CloudSubModelBase (const CloudSubModelBase< CloudType > &smb)
 Copy constructor. More...
 
virtual ~CloudSubModelBase ()
 Destructor. More...
 
const CloudTypeowner () const
 Return const access to the owner cloud. More...
 
virtual bool writeTime () const
 Flag to indicate when to write a property. More...
 
CloudTypeowner ()
 Return non-const access to the owner cloud for manipulation. More...
 
virtual void write (Ostream &os) const
 Write. More...
 
- Public Member Functions inherited from subModelBase
 subModelBase (dictionary &properties)
 Construct null. More...
 
 subModelBase (dictionary &properties, const dictionary &dict, const word &baseName, const word &modelType, const word &dictExt="Coeffs")
 Construct from components without name. More...
 
 subModelBase (const word &modelName, dictionary &properties, const dictionary &dict, const word &baseName, const word &modelType)
 Construct from components with name. More...
 
 subModelBase (const subModelBase &smb)
 Copy constructor. More...
 
virtual ~subModelBase ()
 Destructor. More...
 
const wordmodelName () const
 Return const access to the name of the sub-model. More...
 
const dictionarydict () const
 Return const access to the cloud dictionary. More...
 
const wordbaseName () const
 Return const access to the base name of the sub-model. More...
 
const wordmodelType () const
 Return const access to the sub-model type. More...
 
const dictionarycoeffDict () const
 Return const access to the coefficients dictionary. More...
 
const dictionaryproperties () const
 Return const access to the properties dictionary. More...
 
virtual bool defaultCoeffs (const bool printMsg) const
 Returns true if defaultCoeffs is true and outputs on printMsg. More...
 
virtual bool active () const
 Return the model 'active' status - default active = true. More...
 
virtual void cacheFields (const bool store)
 Cache dependent sub-model fields. More...
 
template<class Type >
Type getBaseProperty (const word &entryName, const Type &defaultValue=pTraits< Type >::zero) const
 Retrieve generic property from the base model. More...
 
template<class Type >
void getBaseProperty (const word &entryName, Type &value) const
 Retrieve generic property from the base model. More...
 
template<class Type >
void setBaseProperty (const word &entryName, const Type &value)
 Add generic property to the base model. More...
 
template<class Type >
void getModelProperty (const word &entryName, Type &value) const
 Retrieve generic property from the sub-model. More...
 
template<class Type >
Type getModelProperty (const word &entryName, const Type &defaultValue=pTraits< Type >::zero) const
 Retrieve generic property from the sub-model. More...
 
template<class Type >
void setModelProperty (const word &entryName, const Type &value)
 Add generic property to the sub-model. More...
 
void operator= (const subModelBase &)=delete
 Disallow default bitwise assignment. More...
 

Protected Member Functions

label applyToPatch (const label globalPatchi) const
 Returns local patchi if patch is in patchIds_ list. More...
 
virtual void write ()
 Write post-processing info. More...
 
- Protected Member Functions inherited from subModelBase
bool inLine () const
 Flag to indicate whether data is/was read in-line. More...
 

Additional Inherited Members

- Public Types inherited from CloudSubModelBase< CloudType >
typedef CloudType cloudType
 Type of cloud this model was instantiated for. More...
 
- Static Public Member Functions inherited from CloudFunctionObject< CloudType >
static autoPtr< CloudFunctionObject< CloudType > > New (const dictionary &dict, CloudType &owner, const word &objectType, const word &modelName)
 Selector. More...
 
- Protected Attributes inherited from CloudSubModelBase< CloudType >
CloudTypeowner_
 Reference to the cloud. More...
 
- Protected Attributes inherited from subModelBase
const word modelName_
 Name of the sub-model. More...
 
dictionaryproperties_
 Reference to properties dictionary e.g. for restart. More...
 
const dictionary dict_
 Copy of dictionary used during construction. More...
 
const word baseName_
 Name of the sub-model base class. More...
 
const word modelType_
 Type of the sub-model. More...
 
const dictionary coeffDict_
 Coefficients dictionary. More...
 

Detailed Description

template<class CloudType>
class Foam::ParticleErosion< CloudType >

Function object to create a field of eroded volume, Q, on a specified list of patches. The volume is calculated by the model of Finnie et al. The implementation follows the description given by the review of Yadav et al.

References:

    I Finnie, A Levy, D H McFadden
    "Fundamental Mechanisms of the Erosive Wear of Ductile Metals by Solid
    Particles"
    ASTM STP664, 1979, pages 36-58
    I Finnie and D H McFadden
    "On the Velocity Dependence of the Erosion of Ductile Metal by Solid
    Particle at Low Angles of Incidence"
    Wear, 1978, volume 48, pages 181-190
    G Yadav, S Tiwari, A Rajput, R Jatola, M L Jain
    "A Review: Erosion Wear Models"
    Emerging Trends in Mechanical Engineering, 2016, volume 1, pages 150-154
Usage
Property Description Req'd? Default
patches The patches on which to calculate Q yes
p Plastic flow stress yes
psi Ratio between depth of contact and length of cut no 2
K Ratio of normal and tangential force no 2

Example:

    <functionName>
    {
        type    particleErosion;
        patches (wall1 wall2);
        p       2.7e9;
    }
Source files

Definition at line 117 of file ParticleErosion.H.

Constructor & Destructor Documentation

◆ ParticleErosion() [1/2]

ParticleErosion ( const dictionary dict,
CloudType owner,
const word modelName 
)

Construct from dictionary.

Definition at line 67 of file ParticleErosion.C.

References UList< T >::empty(), Foam::endl(), Foam::findStrings(), forAllReverse, HashSet< Key, Hash >::insert(), lookup(), HashTable< T, Key, Hash >::toc(), and WarningInFunction.

Referenced by ParticleErosion< CloudType >::write().

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

◆ ParticleErosion() [2/2]

Construct copy.

Definition at line 107 of file ParticleErosion.C.

◆ ~ParticleErosion()

~ParticleErosion ( )
virtual

Destructor.

Definition at line 123 of file ParticleErosion.C.

Referenced by ParticleErosion< CloudType >::clone().

Here is the caller graph for this function:

Member Function Documentation

◆ applyToPatch()

Foam::label applyToPatch ( const label  globalPatchi) const
protected

Returns local patchi if patch is in patchIds_ list.

Definition at line 32 of file ParticleErosion.C.

References forAll.

◆ write()

void write ( )
protectedvirtual

Write post-processing info.

Reimplemented from CloudFunctionObject< CloudType >.

Definition at line 49 of file ParticleErosion.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and ParticleErosion< CloudType >::ParticleErosion().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "particleErosion"  )

Runtime type information.

◆ clone()

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

Construct and return a clone.

Reimplemented from CloudFunctionObject< CloudType >.

Definition at line 176 of file ParticleErosion.H.

References p, ParticleErosion< CloudType >::postPatch(), ParticleErosion< CloudType >::preEvolve(), and ParticleErosion< CloudType >::~ParticleErosion().

Here is the call graph for this function:

◆ preEvolve()

void preEvolve ( )
virtual

Pre-evolve hook.

Reimplemented from CloudFunctionObject< CloudType >.

Definition at line 130 of file ParticleErosion.C.

References Foam::dimVolume, mesh, Foam::name(), ParticleErosion< CloudType >::postPatch(), fvMesh::time(), and Time::timeName().

Referenced by ParticleErosion< CloudType >::clone().

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

◆ postPatch()

void postPatch ( const parcelType &  p,
const polyPatch pp,
bool &  keepParticle 
)
virtual

Post-patch hook.

Definition at line 162 of file ParticleErosion.C.

References Foam::acos(), alpha(), Foam::cos(), patchIdentifier::index(), Foam::mag(), nw, patchi, Foam::constant::mathematical::pi(), Foam::sin(), Foam::sqr(), Foam::tan(), U, and polyPatch::whichFace().

Referenced by ParticleErosion< CloudType >::clone(), and ParticleErosion< CloudType >::preEvolve().

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

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