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...
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 fileName & | outputDir () 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 CloudType & | owner () const |
Return const access to the owner cloud. More... | |
virtual bool | writeTime () const |
Flag to indicate when to write a property. More... | |
CloudType & | owner () |
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 word & | modelName () const |
Return const access to the name of the sub-model. More... | |
const dictionary & | dict () const |
Return const access to the cloud dictionary. More... | |
const word & | baseName () const |
Return const access to the base name of the sub-model. More... | |
const word & | modelType () const |
Return const access to the sub-model type. More... | |
const dictionary & | coeffDict () const |
Return const access to the coefficients dictionary. More... | |
const dictionary & | properties () 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 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 > | |
CloudType & | owner_ |
Reference to the cloud. More... | |
Protected Attributes inherited from subModelBase | |
const word | modelName_ |
Name of the sub-model. More... | |
dictionary & | properties_ |
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... | |
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.
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
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; }
Definition at line 117 of file ParticleErosion.H.
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().
ParticleErosion | ( | const ParticleErosion< CloudType > & | pe | ) |
Construct copy.
Definition at line 107 of file ParticleErosion.C.
|
virtual |
Destructor.
Definition at line 123 of file ParticleErosion.C.
Referenced by ParticleErosion< CloudType >::clone().
|
protected |
Returns local patchi if patch is in patchIds_ list.
Definition at line 32 of file ParticleErosion.C.
References forAll.
|
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().
TypeName | ( | "particleErosion" | ) |
Runtime type information.
|
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().
|
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().
|
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().