46 dir /=
mag(dir) + vSmall;
57 return axesRotation(
axis, dir).R();
61 void Foam::cylindrical::init(
const UList<vector>&
points)
68 R[i] = this->
R(points[i]);
96 ?
dict.parent().lookup(
"origin")
97 :
dict.lookup(
"origin")
99 axis_(
dict.lookupBackwardsCompatible<
vector>({
"axis",
"e3"}))
132 R[i] = this->
R(points[i]);
142 if (Rptr_->size() != vf.
size())
145 <<
"vectorField st has different size to tensorField "
149 return (Rptr_() & vf);
166 return (Rptr_()[cmptI] & v);
175 if (Rptr_->size() != vf.
size())
178 <<
"vectorField st has different size to tensorField "
182 return (Rptr_().
T() & vf);
199 return (Rptr_()[cmptI].
T() & v);
208 if (Rptr_->size() !=
tf.
size())
211 <<
"tensorField st has different size to tensorField Tr"
214 return (Rptr_() &
tf & Rptr_().
T());
225 return (
R & t &
R.T());
234 if (Rptr_->size() != vf.
size())
237 <<
"tensorField vf has different size to tensorField Tr"
247 fld[i] = transformVectorDiagTensor(
R[i], vf[i]);
259 return transformVectorDiagTensor(
R(
p), v);
#define forAll(list, i)
Loop across all elements in list.
Macros for easy insertion into run-time selection tables.
void size(const label)
Override size to be inconsistent with allocated storage.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
Abstract base class for coordinate rotation.
A local coordinate rotation.
virtual void write(Ostream &) const
Write.
virtual void updatePoints(const UList< vector > &points)
Update the rotation for a list of points.
virtual const tensor & R() const
Return local-to-global transformation tensor.
virtual vector transform(const vector &v) const
Transform vector using transformation tensor.
virtual const vector axis() const
Return local Cartesian z-axis in global coordinates.
virtual symmTensor transformDiagTensor(const vector &p, const vector &v) const
Transform diagTensor masquerading as a vector using transformation.
cylindrical(const vector &axis, const point &origin, const UList< vector > &points)
Construct from components for list of points.
virtual vector invTransform(const vector &v) const
Inverse transform vector using transformation tensor.
A list of keyword definitions, which are a keyword followed by any number of values (e....
A class for managing temporary objects.
T & ref() const
Return non-const reference or generate a fatal error.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
gmvFile<< "tracers "<< particles.size()<< nl;{ pointField positions(particles.size());label particlei=0;forAllConstIter(Cloud< passiveParticle >, particles, iter) { positions[particlei++]=iter().position(mesh);} for(i=0;i< pTraits< point >::nComponents;i++) { forAll(positions, particlei) { gmvFile<< component(positions[particlei], i)<< ' ';} gmvFile<< nl;}}forAll(lagrangianScalarNames, i){ const word &name=lagrangianScalarNames[i];IOField< scalar > fld(IOobject(name, runTime.name(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
addToRunTimeSelectionTable(polyPatch, mergedCyclicPolyPatch, word)
errorManip< error > abort(error &err)
void writeEntry(Ostream &os, const HashTable< T, Key, Hash > &ht)
Vector< scalar > vector
A scalar version of the templated Vector.
dimensioned< scalar > mag(const dimensioned< Type > &)
defineTypeNameAndDebug(combustionModel, 0)
static scalar R(const scalar a, const scalar x)
Field< symmTensor > symmTensorField
Specialisation of Field<T> for symmTensor.
Field< tensor > tensorField
Specialisation of Field<T> for tensor.
dimensionSet perpendicular(const dimensionSet &)
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)