33 namespace extrudeModels
49 firstCellThickness_(0),
50 layerPoints_(nLayers_)
55 <<
"thickness should be positive : " << thickness_
59 dict.readIfPresent(
"firstCellThickness", firstCellThickness_);
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);
99 const point& surfacePoint,
100 const vector& surfaceNormal,
110 return surfacePoint + layerPoints_[layer - 1]*surfaceNormal;
Macros for easy insertion into run-time selection tables.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Top level extrusion model class.
scalar sumThickness(const label layer) const
Helper: calculate cumulative relative thickness for layer.
Extrudes by transforming points normal to the surface by a given distance.
linearNormal(const dictionary &dict, const bool single=false)
Construct from dictionary.
virtual ~linearNormal()
Destructor.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
defineTypeNameAndDebug(cyclicSector, 0)
addToRunTimeSelectionTable(extrudeModel, cyclicSector, dictionary)
const unitSet & lookup(const word &unitName)
Lookup and return the named unit from the table.
errorManipArg< error, int > exit(error &err, const int errNo=1)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.