Loading...
Searching...
No Matches
PatchInteractionModel< CloudType > Class Template Referenceabstract

Templated patch interaction model class. More...

#include <PatchInteractionModel.H>

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

Public Types

enum  interactionType {
  itNone , itRebound , itStick , itEscape ,
  itOther
}
Public Types inherited from CloudSubModelBase< CloudType >
typedef CloudType cloudType
 Type of cloud this model was instantiated for.

Public Member Functions

 TypeName ("patchInteractionModel")
 Runtime type information.
 declareRunTimeSelectionTable (autoPtr, PatchInteractionModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
 Declare runtime constructor selection table.
 PatchInteractionModel (CloudType &owner)
 Construct null from owner.
 PatchInteractionModel (const dictionary &dict, CloudType &owner, const word &type)
 Construct from components.
 PatchInteractionModel (const PatchInteractionModel< CloudType > &pim)
 Construct copy.
virtual autoPtr< PatchInteractionModel< CloudType > > clone () const =0
 Construct and return a clone.
virtual ~PatchInteractionModel ()=default
 Destructor.
const wordUName () const
 Return name of velocity field.
const scalar & Urmax () const
 Return Urmax.
virtual bool correct (typename CloudType::parcelType &p, const polyPatch &pp, bool &keepParticle)=0
 Apply velocity correction.
virtual void addToEscapedParcels (const scalar mass)
 Add to escaped parcels.
virtual void postEvolve ()
 Post-evolve hook.
virtual void info ()
 Write patch interaction info.
Public Member Functions inherited from CloudSubModelBase< CloudType >
 CloudSubModelBase (CloudType &owner)
 Construct null from owner cloud.
 CloudSubModelBase (CloudType &owner, const dictionary &dict, const word &baseName, const word &modelType, const word &dictExt="Coeffs")
 Construct from owner cloud without name.
 CloudSubModelBase (const word &modelName, CloudType &owner, const dictionary &dict, const word &baseName, const word &modelType)
 Construct from owner cloud with name.
 CloudSubModelBase (const CloudSubModelBase< CloudType > &smb)
 Construct as copy.
virtual ~CloudSubModelBase ()=default
 Destructor.
const CloudTypeowner () const
 Return const access to the owner cloud.
virtual bool writeTime () const
 Flag to indicate when to write a property.
virtual fileName localPath () const
 Output directory.
CloudTypeowner ()
 Return non-const access to the owner cloud for manipulation.
virtual void write (Ostream &os) const
 Write to os.
Public Member Functions inherited from subModelBase
 subModelBase (dictionary &properties)
 Construct null.
 subModelBase (dictionary &properties, const dictionary &dict, const word &baseName, const word &modelType, const word &dictExt="Coeffs")
 Construct from components without name.
 subModelBase (const word &modelName, dictionary &properties, const dictionary &dict, const word &baseName, const word &modelType)
 Construct from components with name.
 subModelBase (const subModelBase &smb)
 Construct as copy.
virtual ~subModelBase ()=default
 Destructor.
const wordmodelName () const
 Return const access to the name of the sub-model.
const dictionarydict () const
 Return const access to the cloud dictionary.
const wordbaseName () const
 Return const access to the base name of the sub-model.
const wordmodelType () const
 Return const access to the sub-model type.
const dictionarycoeffDict () const
 Return const access to the coefficients dictionary.
const dictionaryproperties () const
 Return const access to the properties dictionary.
virtual bool defaultCoeffs (const bool printMsg) const
 Returns true if defaultCoeffs is true and outputs on printMsg.
virtual bool active () const
 Return the model 'active' status - default active = true.
virtual void cacheFields (const bool store)
 Cache dependent sub-model fields.
template<class Type>
Type getBaseProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const
 Retrieve generic property from the base model.
template<class Type>
void getBaseProperty (const word &entryName, Type &value) const
 Retrieve generic property from the base model.
template<class Type>
void setBaseProperty (const word &entryName, const Type &value)
 Add generic property to the base model.
bool getModelDict (const word &entryName, dictionary &dict) const
 Retrieve dictionary, return true if set.
template<class Type>
bool getModelProperty (const word &entryName, Type &value) const
 Retrieve generic property from the sub-model.
template<class Type>
Type getModelProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const
 Retrieve generic property from the sub-model.
template<class Type>
void setModelProperty (const word &entryName, const Type &value)
 Add generic property to the sub-model.
Public Member Functions inherited from writeFile
 writeFile (const objectRegistry &obr, const fileName &prefix, const word &name="undefined", const bool writeToFile=true, const string &ext=".dat")
 Construct from objectRegistry, prefix, fileName.
 writeFile (const objectRegistry &obr, const fileName &prefix, const word &name, const dictionary &dict, const bool writeToFile=true, const string &ext=".dat")
 Construct from objectRegistry, prefix, fileName and read options from dictionary.
 writeFile (const writeFile &wf)
 Construct copy.
virtual ~writeFile ()=default
 Destructor.
virtual bool read (const dictionary &dict)
 Read.
virtual const stringsetExt (const string &ext)
 Set extension.
virtual OFstreamfile ()
 Return access to the file (if only 1).
virtual bool writeToFile () const
 Flag to allow writing to file.
virtual bool canWriteToFile () const
 Flag to allow writing to the file.
virtual bool canResetFile () const
 Flag to allow resetting the file.
virtual bool canWriteHeader () const
 Flag to allow writing the header.
virtual label charWidth () const
 Return width of character stream output.
virtual void writeCommented (Ostream &os, const string &str) const
 Write a commented string to stream.
virtual void writeTabbed (Ostream &os, const string &str) const
 Write a tabbed string to stream.
virtual void writeHeader (Ostream &os, const string &str) const
 Write a commented header to stream.
virtual void writeCurrentTime (Ostream &os) const
 Write the current time to stream.
virtual void writeBreak (Ostream &os) const
 Write a break marker to the stream.
template<class Type>
void writeHeaderValue (Ostream &os, const string &property, const Type &value) const
 Write a (commented) header property and value pair.
template<class Type>
void writeValue (Ostream &os, const Type &val) const
 Write a given value to stream with the space delimiter.

Static Public Member Functions

static autoPtr< PatchInteractionModel< CloudType > > New (const dictionary &dict, CloudType &owner)
 Selector.
static word interactionTypeToWord (const interactionType &itEnum)
 Convert interaction result to word.
static interactionType wordToInteractionType (const word &itWord)
 Convert word to interaction result.

Static Public Attributes

static wordList interactionTypeNames_
Static Public Attributes inherited from writeFile
static label addChars = 8
 Additional characters for writing.

Protected Member Functions

virtual void writeFileHeader (Ostream &os)
 Output file header information.
Protected Member Functions inherited from subModelBase
bool inLine () const
 Flag to indicate whether data is/was read in-line.
Protected Member Functions inherited from writeFile
void initStream (Ostream &os) const
 Initialise the output stream for writing.
fileName baseFileDir () const
 Return the base directory for output.
fileName baseTimeDir () const
 Return the base directory for the current time value.
fileName filePath (const fileName &fName) const
 Return the full path for the supplied file name.
virtual autoPtr< OFstreamnewFile (const fileName &fName) const
 Return autoPtr to a new file using file name.
virtual autoPtr< OFstreamnewFileAtTime (const word &name, scalar timeValue) const
 Return autoPtr to a new file for a given time.
virtual autoPtr< OFstreamnewFileAtStartTime (const word &name) const
 Return autoPtr to a new file using the simulation start time.
virtual void resetFile (const word &name)
 Reset internal file pointer to new file with new name.
Omanip< int > valueWidth (const label offset=0) const
 Return the value width when writing to stream with optional offset.
void operator= (const writeFile &)=delete
 No copy assignment.
virtual autoPtr< OFstreamcreateFile (const word &name, scalar timeValue) const
 Deprecated(2022-09) Return autoPtr to a new file for a given time.
virtual autoPtr< OFstreamcreateFile (const word &name) const
 Deprecated(2022-09) Return autoPtr to a new file using the simulation start time.

Protected Attributes

const word UName_
 Name of velocity field - default = "U".
label escapedParcels_
 Number of parcels escaped.
scalar escapedMass_
 Mass of parcels escaped.
scalar Urmax_
 Maximum relative U with patch for particle to be removed.
Protected Attributes inherited from CloudSubModelBase< CloudType >
CloudTypeowner_
 Reference to the cloud.
Protected Attributes inherited from subModelBase
const word modelName_
 Name of the sub-model.
dictionaryproperties_
 Reference to properties dictionary e.g. for restart.
const dictionary dict_
 Copy of dictionary used during construction.
const word baseName_
 Name of the sub-model base class.
const word modelType_
 Type of the sub-model.
const dictionary coeffDict_
 Coefficients dictionary.
Protected Attributes inherited from writeFile
const objectRegistryfileObr_
 Reference to the region objectRegistry.
const fileName prefix_
 Prefix.
word fileName_
 Name of file.
autoPtr< OFstreamfilePtr_
 File pointer.
label writePrecision_
 Write precision.
bool writeToFile_
 Flag to enable/disable writing to file.
bool updateHeader_
 Flag to update the header, e.g. on mesh changes. Default is true.
bool writtenHeader_
 Flag to identify whether the header has been written.
bool useUserTime_
 Flag to use the specified user time, e.g. CA deg instead of seconds. Default = true.
scalar startTime_
 Start time value.
string ext_
 File extension; default = .dat.

Additional Inherited Members

Public Attributes inherited from subModelBase
bool log
 Flag to write log into Info.

Detailed Description

template<class CloudType>
class Foam::PatchInteractionModel< CloudType >

Templated patch interaction model class.

Source files

Definition at line 59 of file PatchInteractionModel.H.

Member Enumeration Documentation

◆ interactionType

template<class CloudType>
enum interactionType
Enumerator
itNone 
itRebound 
itStick 
itEscape 
itOther 

Definition at line 69 of file PatchInteractionModel.H.

Constructor & Destructor Documentation

◆ PatchInteractionModel() [1/3]

◆ PatchInteractionModel() [2/3]

template<class CloudType>
PatchInteractionModel ( const dictionary & dict,
CloudType & owner,
const word & type )

Construct from components.

Definition at line 139 of file PatchInteractionModel.C.

References subModelBase::dict(), and CloudSubModelBase< CloudType >::owner().

Here is the call graph for this function:

◆ PatchInteractionModel() [3/3]

template<class CloudType>
PatchInteractionModel ( const PatchInteractionModel< CloudType > & pim)

Construct copy.

Definition at line 163 of file PatchInteractionModel.C.

References CloudSubModelBase< CloudType >::CloudSubModelBase(), escapedMass_, escapedParcels_, PatchInteractionModel(), UName_, Urmax_, and writeFile::writeFile().

Here is the call graph for this function:

◆ ~PatchInteractionModel()

template<class CloudType>
virtual ~PatchInteractionModel ( )
virtualdefault

Destructor.

References subModelBase::dict(), and CloudSubModelBase< CloudType >::owner().

Here is the call graph for this function:

Member Function Documentation

◆ writeFileHeader()

template<class CloudType>
void writeFileHeader ( Ostream & os)
protectedvirtual

◆ TypeName()

template<class CloudType>
TypeName ( "patchInteractionModel" )

Runtime type information.

◆ declareRunTimeSelectionTable()

template<class CloudType>
declareRunTimeSelectionTable ( autoPtr ,
PatchInteractionModel< CloudType > ,
dictionary ,
(const dictionary &dict, CloudType &owner) ,
(dict, owner)  )

Declare runtime constructor selection table.

References subModelBase::dict(), CloudSubModelBase< CloudType >::owner(), and PatchInteractionModel().

Here is the call graph for this function:

◆ clone()

◆ New()

template<class CloudType>
Foam::autoPtr< Foam::PatchInteractionModel< CloudType > > New ( const dictionary & dict,
CloudType & owner )
static

◆ UName()

template<class CloudType>
const Foam::word & UName ( ) const

Return name of velocity field.

Definition at line 180 of file PatchInteractionModel.C.

References UName_.

◆ Urmax()

template<class CloudType>
const Foam::scalar & Urmax ( ) const

Return Urmax.

Definition at line 187 of file PatchInteractionModel.C.

Referenced by LocalInteraction< CloudType >::correct(), and StandardWallInteraction< CloudType >::correct().

Here is the caller graph for this function:

◆ interactionTypeToWord()

template<class CloudType>
Foam::word interactionTypeToWord ( const interactionType & itEnum)
static

Convert interaction result to word.

Definition at line 53 of file PatchInteractionModel.C.

References itEscape, itNone, itRebound, and itStick.

Referenced by StandardWallInteraction< CloudType >::correct().

Here is the caller graph for this function:

◆ wordToInteractionType()

template<class CloudType>
Foam::PatchInteractionModel< CloudType >::interactionType wordToInteractionType ( const word & itWord)
static

Convert word to interaction result.

Definition at line 93 of file PatchInteractionModel.C.

References itEscape, itNone, itRebound, and itStick.

Referenced by LocalInteraction< CloudType >::correct(), LocalInteraction< CloudType >::LocalInteraction(), and StandardWallInteraction< CloudType >::StandardWallInteraction().

Here is the caller graph for this function:

◆ correct()

template<class CloudType>
virtual bool correct ( typename CloudType::parcelType & p,
const polyPatch & pp,
bool & keepParticle )
pure virtual

Apply velocity correction.

Returns true if particle remains in same cell

Implemented in LocalInteraction< CloudType >, MultiInteraction< CloudType >, NoInteraction< CloudType >, Rebound< CloudType >, RecycleInteraction< CloudType >, and StandardWallInteraction< CloudType >.

References p, and pp().

Here is the call graph for this function:

◆ addToEscapedParcels()

template<class CloudType>
void addToEscapedParcels ( const scalar mass)
virtual

Add to escaped parcels.

Definition at line 194 of file PatchInteractionModel.C.

References escapedMass_, and escapedParcels_.

◆ postEvolve()

template<class CloudType>
void postEvolve ( )
virtual

Post-evolve hook.

Reimplemented in MultiInteraction< CloudType >, and RecycleInteraction< CloudType >.

Definition at line 205 of file PatchInteractionModel.C.

◆ info()

Member Data Documentation

◆ interactionTypeNames_

template<class CloudType>
Foam::wordList interactionTypeNames_
static

◆ UName_

template<class CloudType>
const word UName_
protected

Name of velocity field - default = "U".

Definition at line 88 of file PatchInteractionModel.H.

Referenced by PatchInteractionModel(), PatchInteractionModel(), and UName().

◆ escapedParcels_

template<class CloudType>
label escapedParcels_
protected

Number of parcels escaped.

Definition at line 96 of file PatchInteractionModel.H.

Referenced by addToEscapedParcels(), info(), PatchInteractionModel(), and PatchInteractionModel().

◆ escapedMass_

template<class CloudType>
scalar escapedMass_
protected

Mass of parcels escaped.

Definition at line 101 of file PatchInteractionModel.H.

Referenced by addToEscapedParcels(), info(), PatchInteractionModel(), and PatchInteractionModel().

◆ Urmax_

template<class CloudType>
scalar Urmax_
protected

Maximum relative U with patch for particle to be removed.

Definition at line 106 of file PatchInteractionModel.H.

Referenced by PatchInteractionModel(), and PatchInteractionModel().


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