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()
64 cartesianCoors += origin_;
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(),
119 cylindricalCoors.write();
125 Foam::NURBS3DVolumeCylindrical::NURBS3DVolumeCylindrical
129 bool computeParamCoors
135 updateLocalCoordinateSystem(
mesh.points());
136 writeCps(
"cpsBsplines" + mesh_.time().timeName());
137 if (computeParamCoors)
139 getParametricCoordinates();
addToRunTimeSelectionTable(decompositionMethod, kahipDecomp, dictionary)
Defines the attributes of an object for which implicit objectRegistry management is supported,...
const Cmpt & x() const
Access to the vector x component.
static constexpr const zero Zero
Global zero (0)
vector transformPointToCartesian(const vector &localCoordinates) const
Transform a point from its coordinate system to a cartesian system.
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)
const Cmpt & z() const
Access to the vector z component.
#define forAll(list, i)
Loop across all elements in list.
#define R(A, B, C, D, E, F, K, M)
void updateLocalCoordinateSystem(const vectorField &cartesianPoints)
Update coordinates in the local system based on the cartesian points.
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)
Return a reference to the internal field.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
const Cmpt & y() const
Access to the vector y component.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
Templated 3D Vector derived from VectorSpace adding construction from 3 components,...
dimensionedScalar sqrt(const dimensionedScalar &ds)
vector point
Point is a vector.
defineTypeNameAndDebug(combustionModel, 0)
dimensionedScalar cos(const dimensionedScalar &ds)