Go to the documentation of this file.
30 template<
class ParcelType>
33 const CollidingParcel<ParcelType>&
p
38 angularMomentum_(
p.angularMomentum_),
40 collisionRecords_(
p.collisionRecords_)
44 template<
class ParcelType>
47 const CollidingParcel<ParcelType>&
p,
53 angularMomentum_(
p.angularMomentum_),
55 collisionRecords_(
p.collisionRecords_)
61 template<
class ParcelType>
62 template<
class TrackData>
66 const scalar trackTime
69 typename TrackData::cloudType::parcelType&
p =
70 static_cast<typename TrackData::cloudType::parcelType&
>(*this);
72 td.keepParticle =
true;
76 case TrackData::tpVelocityHalfStep:
81 p.U() += 0.5*trackTime*
p.f()/
p.mass();
83 p.angularMomentum() += 0.5*trackTime*
p.torque();
85 td.keepParticle =
true;
90 case TrackData::tpLinearTrack:
92 ParcelType::move(td, trackTime);
97 case TrackData::tpRotationalTrack:
107 << td.part() <<
" is an invalid part of the tracking method."
112 return td.keepParticle;
116 template<
class ParcelType>
119 ParcelType::transformProperties(
T);
123 angularMomentum_ =
transform(
T, angularMomentum_);
129 template<
class ParcelType>
135 ParcelType::transformProperties(separation);
Templated 3D tensor derived from VectorSpace adding construction from 9 components,...
dimensionSet transform(const dimensionSet &)
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
errorManip< error > abort(error &err)
virtual void transformProperties(const tensor &T)
Transform the physical properties of the particle.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
CollidingParcel(const polyMesh &mesh, const vector &position, const label cellI, const label tetFaceI, const label tetPtI)
Construct from owner, position, and cloud owner.
bool move(TrackData &td, const scalar trackTime)
Move the parcel.