Go to the documentation of this file.
81 primalVars_(primalVars),
82 adjointVars_(adjointVars),
84 extraConvection_(dict_.getOrDefault<scalar>(
"extraConvection",
Zero)),
85 extraDiffusion_(dict_.getOrDefault<scalar>(
"extraDiffusion",
Zero)),
86 nSmooth_(dict_.getOrDefault<label>(
"nSmooth", 0)),
89 dict_.getOrDefault(
"reconstructGradients",
false)
97 "ATClimiter" + adjointSolverName_,
98 mesh_.time().timeName(),
111 "ATCField" + adjointSolverName_,
112 mesh_.time().timeName(),
138 auto cstrIter = dictionaryConstructorTablePtr_->cfind(modelType);
140 Info<<
"ATCModel type " << modelType <<
endl;
142 if (!cstrIter.found())
149 *dictionaryConstructorTablePtr_
155 cstrIter()(
mesh, primalVars, adjointVars,
dict)
194 limiter.primitiveFieldRef() = 1;
195 limiter.correctBoundaryConditions();
198 for (
const label celli :
cells)
204 limiter.correctBoundaryConditions();
209 for (label iLimit = 0; iLimit < nSmooth; ++iLimit)
Defines the attributes of an object for which implicit objectRegistry management is supported,...
const word & solverName() const
Return solver name.
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
Dimensionless.
A class for handling words, derived from Foam::string.
static constexpr const zero Zero
Global zero (0)
LocalMin-mean differencing scheme class.
defineRunTimeSelectionTable(reactionRateFlameArea, dictionary)
static word timeName(const scalar t, const int precision=precision_)
virtual bool writeData(Ostream &) const
Dummy writeData function required from regIOobject.
Ostream & endl(Ostream &os)
Add newline and flush stream.
scalar getExtraConvectionMultiplier()
Get the extra convection multiplier.
void computeLimiter()
Compute limiter based on the cells given by zeroATCcells.
T get(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Dimension set for the base types.
tmp< GeometricField< Type, fvPatchField, volMesh > > average(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
Area-weighted average a surfaceField creating a volField.
Class including all adjoint fields for incompressible flows.
const scalar extraDiffusion_
This boundary condition applies a zero-gradient condition from the patch internal field onto the patc...
dimensioned< vector > dimensionedVector
Dimensioned vector obtained from generic dimensioned type.
zeroCells(alpha, inletCells)
#define FatalIOErrorInLookup(ios, lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalIOError.
const labelList & getZeroATCcells()
Get the list of cells on which to zero ATC.
messageStream Info
Information stream (uses stdout - output is on the master only)
const volScalarField & getLimiter() const
Get the list of cells on which to zero ATC.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
autoPtr< zeroATCcells > zeroATCcells_
scalar getExtraDiffusionMultiplier()
Get the extra diffusion multiplier.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Mesh data needed to do the Finite Volume discretisation.
errorManipArg< error, int > exit(error &err, const int errNo=1)
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
static autoPtr< zeroATCcells > New(const fvMesh &mesh, const dictionary &dict)
Return a reference to the selected turbulence model.
#define DebugInfo
Report an information message using Foam::Info.
const labelList & getZeroATCcells()
Get the zeroATCcells.
volScalarField ATClimiter_
static tmp< volScalarField > createLimiter(const fvMesh &mesh, const dictionary &dict)
const Time & time() const
Return the top-level database.
void smoothATC()
Limit ATC field using ATClimiter_.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
T getOrDefault(const word &keyword, const T &deflt, enum keyType::option matchOpt=keyType::REGEX) const
tmp< areaScalarField > limiter(const areaScalarField &phi)
defineTypeNameAndDebug(combustionModel, 0)
static tmp< edgeInterpolationScheme< Type > > scheme(const edgeScalarField &faceFlux, Istream &schemeData)
Return weighting factors for scheme given from Istream.
Type gMax(const FieldField< Field, Type > &f)
const scalar extraConvection_
Base class for solution control classes.
static autoPtr< ATCModel > New(const fvMesh &mesh, const incompressibleVars &primalVars, const incompressibleAdjointVars &adjointVars, const dictionary &dict)
Return a reference to the selected turbulence model.