Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ATCModel Class Referenceabstract

Base class for selecting the adjoint transpose convection model. Inherits from regIOobject to add lookup functionality. More...

Inheritance diagram for ATCModel:
Inheritance graph
[legend]
Collaboration diagram for ATCModel:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("ATCModel")
 
 declareRunTimeSelectionTable (autoPtr, ATCModel, dictionary,(const fvMesh &mesh, const incompressibleVars &primalVars, const incompressibleAdjointVars &adjointVars, const dictionary &dict),(mesh, primalVars, adjointVars, dict))
 
 ATCModel (const fvMesh &mesh, const incompressibleVars &primalVars, const incompressibleAdjointVars &adjointVars, const dictionary &dict)
 
virtual ~ATCModel ()=default
 
virtual void addATC (fvVectorMatrix &UaEqn)=0
 
const labelListgetZeroATCcells ()
 
scalar getExtraConvectionMultiplier ()
 
scalar getExtraDiffusionMultiplier ()
 
const volScalarFieldgetLimiter () const
 
template<class Type >
void smoothFieldBasedOnCells (GeometricField< Type, fvPatchField, volMesh > &vf, const labelList &cells)
 
virtual tmp< volTensorFieldgetFISensitivityTerm () const =0
 
virtual bool writeData (Ostream &) const
 
- Public Member Functions inherited from regIOobject
 TypeName ("regIOobject")
 
 regIOobject (const IOobject &io, const bool isTimeObject=false)
 
 regIOobject (const regIOobject &rio)
 
 regIOobject (const regIOobject &rio, bool registerCopy)
 
 regIOobject (const word &newName, const regIOobject &, bool registerCopy)
 
 regIOobject (const IOobject &io, const regIOobject &rio)
 
virtual ~regIOobject ()
 
bool checkIn ()
 
bool checkOut ()
 
virtual void addWatch ()
 
bool ownedByRegistry () const
 
bool store ()
 
void release (const bool unregister=false)
 
label eventNo () const
 
label & eventNo ()
 
bool upToDate (const regIOobject &) const
 
bool upToDate (const regIOobject &, const regIOobject &) const
 
bool upToDate (const regIOobject &, const regIOobject &, const regIOobject &) const
 
bool upToDate (const regIOobject &, const regIOobject &, const regIOobject &, const regIOobject &) const
 
void setUpToDate ()
 
virtual void rename (const word &newName)
 
const dictionaryfindMetaData () const noexcept
 
dictionarygetMetaData () noexcept
 
void removeMetaData ()
 
virtual void updateMetaData ()
 
virtual fileName filePath () const
 
bool headerOk ()
 
IstreamreadStream (const word &, const bool valid=true)
 
void close ()
 
virtual bool readData (Istream &)
 
virtual bool read ()
 
virtual label addWatch (const fileName &)
 
const labelListwatchIndices () const
 
labelListwatchIndices ()
 
virtual bool modified () const
 
virtual bool readIfModified ()
 
virtual bool writeObject (IOstreamOption streamOpt, const bool valid) const
 
virtual bool write (const bool valid=true) const
 
virtual bool global () const
 
void operator= (const IOobject &io)
 
virtual bool writeObject (IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver, IOstreamOption::compressionType comp, const bool valid) const
 
- Public Member Functions inherited from IOobject
 TypeName ("IOobject")
 
 IOobject (const IOobject &)=default
 
virtual ~IOobject ()=default
 
 IOobject (const word &name, const fileName &instance, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true, bool globalObject=false)
 
 IOobject (const word &name, const fileName &instance, const fileName &local, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true, bool globalObject=false)
 
 IOobject (const fileName &path, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true, bool globalObject=false)
 
 IOobject (const IOobject &io, const objectRegistry &registry)
 
 IOobject (const IOobject &io, const word &name)
 
 IOobject (const IOobject &io, readOption, writeOption)
 
autoPtr< IOobjectclone () const
 
autoPtr< IOobjectclone (const objectRegistry &registry) const
 
const objectRegistrydb () const noexcept
 
const Timetime () const
 
const wordname () const noexcept
 
const wordheaderClassName () const noexcept
 
wordheaderClassName () noexcept
 
const stringnote () const noexcept
 
stringnote () noexcept
 
bool registerObject () const noexcept
 
bool registerObject (bool on) noexcept
 
bool globalObject () const noexcept
 
bool globalObject (bool on) noexcept
 
unsigned labelByteSize () const noexcept
 
unsigned scalarByteSize () const noexcept
 
bool isHeaderClassName (const word &clsName) const
 
template<class Type >
bool isHeaderClassName () const
 
readOption readOpt () const noexcept
 
readOption readOpt (readOption opt) noexcept
 
writeOption writeOpt () const noexcept
 
writeOption writeOpt (writeOption opt) noexcept
 
word group () const
 
word member () const
 
const fileNamerootPath () const
 
const fileNamecaseName () const
 
const fileNameinstance () const noexcept
 
fileNameinstance () noexcept
 
const fileNamelocal () const noexcept
 
fileName path () const
 
fileName path (const word &instance, const fileName &local=fileName::null) const
 
fileName objectPath () const
 
fileName objectRelPath () const
 
fileName localFilePath (const word &typeName, const bool search=true) const
 
fileName globalFilePath (const word &typeName, const bool search=true) const
 
IOstreamOption parseHeader (const dictionary &headerDict)
 
bool readHeader (Istream &is)
 
bool readHeader (dictionary &headerDict, Istream &is)
 
template<class Type >
bool typeHeaderOk (const bool checkType=true, const bool search=true, const bool verbose=true)
 
template<class Type >
void warnNoRereading () const
 
bool writeHeader (Ostream &os) const
 
bool writeHeader (Ostream &os, const word &objectType) const
 
void writeHeader (dictionary &dict, IOstreamOption streamOpt) const
 
void writeHeader (dictionary &dict, const word &objectType, IOstreamOption streamOpt) const
 
bool good () const noexcept
 
bool bad () const noexcept
 
InfoProxy< IOobjectinfo () const
 
void operator= (const IOobject &io)
 
readOptionreadOpt () noexcept
 
writeOptionwriteOpt () noexcept
 
boolregisterObject () noexcept
 
boolglobalObject () noexcept
 
template<>
bool isHeaderClassName () const
 
template<class StringType >
Foam::word groupName (StringType base, const word &group)
 

Static Public Member Functions

static autoPtr< ATCModelNew (const fvMesh &mesh, const incompressibleVars &primalVars, const incompressibleAdjointVars &adjointVars, const dictionary &dict)
 
static void computeLimiter (volScalarField &limiter, const labelList &smoothCells, const label nSmooth)
 
static tmp< volScalarFieldcreateLimiter (const fvMesh &mesh, const dictionary &dict)
 
- Static Public Member Functions inherited from regIOobject
template<class Type >
static Type & store (Type *p)
 
template<class Type >
static Type & store (autoPtr< Type > &ptr)
 
template<class Type >
static Type & store (autoPtr< Type > &&ptr)
 
template<class Type >
static Type & store (refPtr< Type > &ptr)
 
template<class Type >
static Type & store (refPtr< Type > &&ptr)
 
template<class Type >
static Type & store (tmp< Type > &ptr)
 
template<class Type >
static Type & store (tmp< Type > &&ptr)
 
- Static Public Member Functions inherited from IOobject
static bool bannerEnabled () noexcept
 
static bool bannerEnabled (bool on) noexcept
 
static bool fileNameComponents (const fileName &path, fileName &instance, fileName &local, word &name)
 
template<class StringType >
static word groupName (StringType base, const word &group)
 
static word group (const word &name)
 
static word member (const word &name)
 
static word scopedName (const std::string &scope, const word &name)
 
static IOobject selectIO (const IOobject &io, const fileName &altFile, const word &ioName="")
 
static OstreamwriteBanner (Ostream &os, const bool noSyntaxHint=false)
 
static OstreamwriteDivider (Ostream &os)
 
static OstreamwriteEndDivider (Ostream &os)
 

Protected Member Functions

void computeLimiter ()
 
void smoothATC ()
 
- Protected Member Functions inherited from regIOobject
bool readHeaderOk (const IOstreamOption::streamFormat fmt, const word &typeName)
 
- Protected Member Functions inherited from IOobject
void setBad (const string &s)
 

Protected Attributes

const fvMeshmesh_
 
const incompressibleVarsprimalVars_
 
const incompressibleAdjointVarsadjointVars_
 
const dictionarydict_
 
const scalar extraConvection_
 
const scalar extraDiffusion_
 
const label nSmooth_
 
const bool reconstructGradients_
 
word adjointSolverName_
 
autoPtr< zeroATCcellszeroATCcells_
 
volScalarField ATClimiter_
 
volVectorField ATC_
 

Additional Inherited Members

- Public Types inherited from IOobject
enum  objectState : char { GOOD, BAD }
 
enum  readOption : char { MUST_READ, MUST_READ_IF_MODIFIED, READ_IF_PRESENT, NO_READ }
 
enum  writeOption : char { AUTO_WRITE = 0, NO_WRITE = 1 }
 
enum  fileCheckTypes : char { timeStamp, timeStampMaster, inotify, inotifyMaster }
 
- Static Public Attributes inherited from IOobject
static const Enum< fileCheckTypesfileCheckTypesNames
 
static char scopeSeparator
 
static fileCheckTypes fileModificationChecking
 
static float fileModificationSkew
 
static int maxFileModificationPolls
 
- Static Protected Member Functions inherited from IOobject
static void writeHeaderContent (Ostream &os, const IOobject &io, const word &objectType, const dictionary *metaDataDict=nullptr)
 
static void writeHeaderContent (dictionary &dict, const IOobject &io, const word &objectType, IOstreamOption streamOpt, const dictionary *metaDataDict=nullptr)
 
- Static Protected Attributes inherited from regIOobject
static bool masterOnlyReading = false
 

Detailed Description

Base class for selecting the adjoint transpose convection model. Inherits from regIOobject to add lookup functionality.

Source files

Definition at line 56 of file ATCModel.H.

Constructor & Destructor Documentation

◆ ATCModel()

ATCModel ( const fvMesh mesh,
const incompressibleVars primalVars,
const incompressibleAdjointVars adjointVars,
const dictionary dict 
)

Definition at line 55 of file ATCModel.C.

◆ ~ATCModel()

virtual ~ATCModel ( )
virtualdefault

Member Function Documentation

◆ computeLimiter() [1/2]

void computeLimiter ( )
protected

Definition at line 38 of file ATCModel.C.

References ATCModel::ATClimiter_, ATCModel::nSmooth_, and ATCModel::zeroATCcells_.

◆ smoothATC()

void smoothATC ( )
protected

Definition at line 44 of file ATCModel.C.

References ATCModel::ATC_, ATCModel::ATClimiter_, DebugInfo, Foam::endl(), and Foam::gMax().

Referenced by ATCstandard::addATC(), and ATCUaGradU::addATC().

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

◆ TypeName()

TypeName ( "ATCModel"  )

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr  ,
ATCModel  ,
dictionary  ,
(const fvMesh &mesh, const incompressibleVars &primalVars, const incompressibleAdjointVars &adjointVars, const dictionary &dict ,
(mesh, primalVars, adjointVars, dict  
)

◆ New()

autoPtr< ATCModel > New ( const fvMesh mesh,
const incompressibleVars primalVars,
const incompressibleAdjointVars adjointVars,
const dictionary dict 
)
static

Definition at line 122 of file ATCModel.C.

References dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInLookup, dictionary::get(), Foam::Info, and mesh.

Referenced by adjointSimple::adjointSimple().

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

◆ addATC()

virtual void addATC ( fvVectorMatrix UaEqn)
pure virtual

Implemented in cancelATC, ATCstandard, and ATCUaGradU.

◆ getZeroATCcells()

const labelList & getZeroATCcells ( )

Definition at line 155 of file ATCModel.C.

References ATCModel::zeroATCcells_.

◆ getExtraConvectionMultiplier()

scalar getExtraConvectionMultiplier ( )

Definition at line 161 of file ATCModel.C.

References ATCModel::extraConvection_.

◆ getExtraDiffusionMultiplier()

scalar getExtraDiffusionMultiplier ( )

Definition at line 167 of file ATCModel.C.

References ATCModel::extraDiffusion_.

◆ getLimiter()

const volScalarField & getLimiter ( ) const

Definition at line 173 of file ATCModel.C.

References ATCModel::ATClimiter_.

Referenced by ATCstandard::getFISensitivityTerm().

Here is the caller graph for this function:

◆ computeLimiter() [2/2]

void computeLimiter ( volScalarField limiter,
const labelList smoothCells,
const label  nSmooth 
)
static

Definition at line 180 of file ATCModel.C.

References Foam::fvc::average(), cells, Foam::limiter(), mesh, Foam::fac::scheme(), and Foam::Zero.

Here is the call graph for this function:

◆ createLimiter()

tmp< volScalarField > createLimiter ( const fvMesh mesh,
const dictionary dict 
)
static

Definition at line 214 of file ATCModel.C.

References dict, Foam::dimless, dictionary::getOrDefault(), Foam::limiter(), mesh, zeroATCcells::New(), IOobject::NO_READ, IOobject::NO_WRITE, fvMesh::time(), Time::timeName(), and zeroCells().

Referenced by adjointSpalartAllmaras::allocateMask().

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

◆ smoothFieldBasedOnCells()

void smoothFieldBasedOnCells ( GeometricField< Type, fvPatchField, volMesh > &  vf,
const labelList cells 
)

Definition at line 30 of file ATCModelTemplates.C.

References cells, Foam::dimless, and Foam::limiter().

Here is the call graph for this function:

◆ getFISensitivityTerm()

virtual tmp<volTensorField> getFISensitivityTerm ( ) const
pure virtual

Implemented in cancelATC, ATCstandard, and ATCUaGradU.

Referenced by adjointSensitivity::computeGradDxDbMultiplier().

Here is the caller graph for this function:

◆ writeData()

bool writeData ( Ostream ) const
virtual

Implements regIOobject.

Definition at line 248 of file ATCModel.C.

Member Data Documentation

◆ mesh_

const fvMesh& mesh_
protected

◆ primalVars_

const incompressibleVars& primalVars_
protected

◆ adjointVars_

const incompressibleAdjointVars& adjointVars_
protected

◆ dict_

const dictionary& dict_
protected

Definition at line 80 of file ATCModel.H.

◆ extraConvection_

const scalar extraConvection_
protected

◆ extraDiffusion_

const scalar extraDiffusion_
protected

Definition at line 82 of file ATCModel.H.

Referenced by ATCModel::getExtraDiffusionMultiplier().

◆ nSmooth_

const label nSmooth_
protected

Definition at line 83 of file ATCModel.H.

Referenced by ATCModel::computeLimiter().

◆ reconstructGradients_

const bool reconstructGradients_
protected

Definition at line 84 of file ATCModel.H.

Referenced by ATCstandard::addATC(), and ATCUaGradU::addATC().

◆ adjointSolverName_

word adjointSolverName_
protected

Definition at line 85 of file ATCModel.H.

◆ zeroATCcells_

autoPtr<zeroATCcells> zeroATCcells_
protected

Definition at line 86 of file ATCModel.H.

Referenced by ATCModel::computeLimiter(), and ATCModel::getZeroATCcells().

◆ ATClimiter_

volScalarField ATClimiter_
protected

Definition at line 87 of file ATCModel.H.

Referenced by ATCModel::computeLimiter(), ATCModel::getLimiter(), and ATCModel::smoothATC().

◆ ATC_

volVectorField ATC_
protected

Definition at line 88 of file ATCModel.H.

Referenced by ATCstandard::addATC(), ATCUaGradU::addATC(), and ATCModel::smoothATC().


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