33 namespace extrudeModels
48 thickness_(coeffDict_.
lookup<scalar>(
"thickness")),
49 firstCellThickness_(0),
50 layerPoints_(nLayers_)
55 <<
"thickness should be positive : " << thickness_
61 if (firstCellThickness_ >= thickness_)
64 <<
"firstCellThickness is larger than thickness" 68 if (firstCellThickness_ > 0)
70 layerPoints_[0] = firstCellThickness_;
74 layerPoints_[layerI] =
75 (thickness_ - layerPoints_[0])
83 layerPoints_[layerI] = thickness_*
sumThickness(layerI + 1);
97 point linearNormal::operator()
99 const point& surfacePoint,
100 const vector& surfaceNormal,
110 return surfacePoint + layerPoints_[layer - 1]*surfaceNormal;
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
errorManipArg< error, int > exit(error &err, const int errNo=1)
A list of keyword definitions, which are a keyword followed by any number of values (e...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
virtual ~linearNormal()
Destructor.
const dictionary & coeffDict_
linearNormal(const dictionary &dict)
Construct from dictionary.
defineTypeNameAndDebug(cyclicSector, 0)
Macros for easy insertion into run-time selection tables.
Top level extrusion model class.
stressControl lookup("compactNormalStress") >> compactNormalStress
bool readIfPresent(const word &, T &, bool recursive=false, bool patternMatch=true) const
Find an entry if present, and assign to T.
scalar sumThickness(const label layer) const
Helper: calculate cumulative relative thickness for layer.
addToRunTimeSelectionTable(extrudeModel, cyclicSector, dictionary)