Go to the documentation of this file.
45 NURBS3DVolumeCylindrical,
55 const vector& localSystemCoordinates
60 localSystemCoordinates.
x()*
cos(localSystemCoordinates.
y()),
61 localSystemCoordinates.
x()*
sin(localSystemCoordinates.
y()),
62 localSystemCoordinates.
z()
66 return cartesianCoors;
72 label globalPointIndex
75 const vector& localCoors = localSystemCoordinates_[globalPointIndex];
78 cos(localCoors.
y()), -localCoors.
x()*
sin(localCoors.
y()), 0,
79 sin(localCoors.
y()), localCoors.
x()*
cos(localCoors.
y()), 0,
83 return transformTensor;
92 forAll(cartesianPoints, pI)
99 cylindricalCoors.x() =
R;
100 cylindricalCoors.y() = theta;
101 cylindricalCoors.z() = cartesianPoints[pI].z();
102 localSystemCoordinates_[pI] = cylindricalCoors;
109 "cylindricalCoors" + name_,
110 mesh_.time().timeName(),
118 cylindricalCoors.primitiveFieldRef() = localSystemCoordinates_;
119 cylindricalCoors.write();
125 Foam::NURBS3DVolumeCylindrical::NURBS3DVolumeCylindrical
129 bool computeParamCoors
137 if (computeParamCoors)
addToRunTimeSelectionTable(decompositionMethod, kahipDecomp, dictionary)
GeometricField< vector, pointPatchField, pointMesh > pointVectorField
A templated (3 x 3) tensor of objects of <T> derived from MatrixSpace.
virtual const pointField & points() const
Defines the attributes of an object for which implicit objectRegistry management is supported,...
static constexpr const zero Zero
vector transformPointToCartesian(const vector &localCoordinates) const
dimensionedScalar sin(const dimensionedScalar &ds)
NURBS3DVolume morpher. Includes support functions for gradient computations Base class providing supp...
dimensionedScalar atan2(const dimensionedScalar &x, const dimensionedScalar &y)
static const pointMesh & New(const polyMesh &mesh, Args &&... args)
static word timeName(const scalar t, const int precision=precision_)
const pointVectorField & getParametricCoordinates()
#define R(A, B, C, D, E, F, K, M)
Generic templated field type.
void updateLocalCoordinateSystem(const vectorField &cartesianPoints)
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Macros for easy insertion into run-time selection tables.
Mesh data needed to do the Finite Volume discretisation.
tensor transformationTensorDxDb(label globalPointIndex)
Internal::FieldType & primitiveFieldRef(const bool updateAccessTime=true)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedScalar sqrt(const dimensionedScalar &ds)
void writeCps(const fileName &="cpsFile", const bool transform=true) const
List< ReturnType > get(const UPtrList< T > &list, const AccessOp &aop)
const Time & time() const
const fvMesh & mesh() const
vector point
Point is a vector.
Generic GeometricField class.
defineTypeNameAndDebug(combustionModel, 0)
dimensionedScalar cos(const dimensionedScalar &ds)