43 const word& modelType,
47 nLayers_(
dict.getOrDefault<label>(
"nLayers", 1)),
48 expansionRatio_(
dict.getOrDefault<scalar>(
"expansionRatio", 1)),
49 coeffDict_(
dict.optionalSubDict(modelType +
"Coeffs"))
52 <<
"Selected extrudeModel for " << modelType
67 return expansionRatio_;
75 if (
mag(1.0-expansionRatio_) < SMALL)
77 return scalar(layer)/nLayers_;
82 (1.0-
pow(expansionRatio_, layer))
83 / (1.0-
pow(expansionRatio_, nLayers_));
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Top level extrusion model class.
const dictionary & coeffDict_
label nLayers() const
Return the number of layers.
scalar expansionRatio() const
Return the expansion ratio.
scalar sumThickness(const label layer) const
Helper: calculate cumulative relative thickness for layer.
A class for handling words, derived from Foam::string.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
#define DebugInfo
Report an information message using Foam::Info.
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
constexpr char nl
The newline '\n' character (0x0a)
#define defineRunTimeSelectionTable(baseType, argNames)
Define run-time selection table.