36 namespace extrudeModels
51 thickness_(coeffDict_.
get<scalar>(
"thickness")),
54 coeffDict_.getOrDefault<scalar>(
"firstCellThickness", 0)
56 layerPoints_(nLayers_)
61 <<
"thickness should be positive : " << thickness_
65 if (
nLayers_ > 1 && firstCellThickness_ > 0)
67 if (thickness_ <= firstCellThickness_)
70 <<
"firstCellThickness leave no room for further layers" 74 layerPoints_[0] = firstCellThickness_;
76 for (label layer = 1; layer <
nLayers_; ++layer)
79 (thickness_ - layerPoints_[0])
85 for (label layer = 0; layer <
nLayers_; ++layer)
87 layerPoints_[layer] = thickness_*
sumThickness(layer + 1);
95 point linearNormal::operator()
97 const point& surfacePoint,
98 const vector& surfaceNormal,
107 return surfacePoint + layerPoints_[layer - 1]*surfaceNormal;
List< ReturnType > get(const UPtrList< T > &list, const AccessOp &aop)
List of values generated by applying the access operation to each list item.
errorManipArg< error, int > exit(error &err, const int errNo=1)
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
A list of keyword definitions, which are a keyword followed by a number of values (eg...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
linearNormal(const dictionary &dict)
Construct from dictionary.
defineTypeNameAndDebug(cyclicSector, 0)
Macros for easy insertion into run-time selection tables.
Top level extrusion model class.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
scalar sumThickness(const label layer) const
Helper: calculate cumulative relative thickness for layer.
addToRunTimeSelectionTable(extrudeModel, cyclicSector, dictionary)
Extrudes by transforming points normal to the surface by a given distance.