MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
RoTrManip Namespace Reference

Functions

MatExp Elle (const VecExp &phi, const VecExp &a)
 
MatExp RoTr (const VecExp &eta)
 
MatExp DRoTr (const VecExp &eta)
 
void RoTrAndDRoTr (const VecExp &eta, MatExp &H, MatExp &Th)
 
MatExp DRoTr_It (const VecExp &eta)
 
MatExp DRoTr_I (const VecExp &eta)
 
void RoTrAndDRoTr_It (const VecExp &eta, MatExp &HIt, MatExp &ThIt)
 
VecExp Helix (const MatExp &H)
 

Function Documentation

MatExp RoTrManip::DRoTr ( const VecExp eta)

Definition at line 219 of file Rot.cc.

References RotCoeff::COEFF_C, RotCoeff::CoeffC(), and VecExp::GetVec().

219  {
220  ScalExp coeff[COEFF_C];
221 
222  CoeffC(phi,phi.GetVec(),coeff);
223 
224  MatExp Ga(1., phi*coeff[1]); /* I + c[0] * phi x */
225  Ga += MatExp(phi, phi*coeff[2]); /* += c[1] * phi x phi x */
226 
227  return Ga;
228 }
void CoeffC(const T1 &phi, const Vec3 &p, T2 *const coeff)
const Int COEFF_C
Definition: RotCoeff.hh:64

Here is the call graph for this function:

MatExp RoTrManip::DRoTr_I ( const VecExp eta)

Definition at line 255 of file Rot.cc.

References RotCoeff::COEFF_C_STAR, RotCoeff::COEFF_D, RotCoeff::CoeffCStar(), and VecExp::GetVec().

Referenced by Compute().

255  {
256  ScalExp coeff[COEFF_D], coeffs[COEFF_C_STAR];
257 
258  CoeffCStar(phi,phi.GetVec(),coeff,coeffs);
259 
260  MatExp GaIT(1., phi*-.5);
261  GaIT += MatExp(phi, phi*coeffs[0]);
262 
263  return GaIT;
264 }
const Int COEFF_D
Definition: RotCoeff.hh:65
void CoeffCStar(const T1 &phi, const Vec3 &p, T2 *const coeff, T2 *const coeffs)
const Int COEFF_C_STAR
Definition: RotCoeff.hh:69

Here is the call graph for this function:

MatExp RoTrManip::DRoTr_It ( const VecExp eta)

Definition at line 244 of file Rot.cc.

References RotCoeff::COEFF_C_STAR, RotCoeff::COEFF_D, RotCoeff::CoeffCStar(), and VecExp::GetVec().

244  {
245  ScalExp coeff[COEFF_D], coeffs[COEFF_C_STAR];
246 
247  CoeffCStar(phi,phi.GetVec(),coeff,coeffs);
248 
249  MatExp GaIT(1., phi*.5);
250  GaIT += MatExp(phi, phi*coeffs[0]);
251 
252  return GaIT;
253 }
const Int COEFF_D
Definition: RotCoeff.hh:65
void CoeffCStar(const T1 &phi, const Vec3 &p, T2 *const coeff, T2 *const coeffs)
const Int COEFF_C_STAR
Definition: RotCoeff.hh:69

Here is the call graph for this function:

MatExp RoTrManip::Elle ( const VecExp phi,
const VecExp a 
)

Definition at line 194 of file Rot.cc.

References a, RotCoeff::COEFF_E, RotCoeff::CoeffE(), VecExp::Cross(), and VecExp::GetVec().

Referenced by ComputeFullInterpolation().

195  {
196  ScalExp coeff[COEFF_E];
197  CoeffE(phi,phi.GetVec(),coeff);
198 
199  MatExp L(a*(-coeff[1]));
200  L -= MatExp(phi,a*coeff[2]);
201  L -= MatExp(phi.Cross(a*coeff[2]));
202  L += (phi.Cross(a)).Tens(phi*coeff[3]);
203  L += (MatExp(phi,phi)*a).Tens(phi*coeff[4]);
204 
205  return L;
206 }
const Vec3 & GetVec(void) const
Definition: matvecexp.h:198
const Int COEFF_E
Definition: RotCoeff.hh:66
VecExp Cross(const VecExp &v) const
Definition: matvecexp.h:300
static const doublereal a
Definition: hfluid_.h:289
void CoeffE(const T1 &phi, const Vec3 &p, T2 *const coeff)

Here is the call graph for this function:

VecExp RoTrManip::Helix ( const MatExp H)

Definition at line 282 of file Rot.cc.

References RotManip::DRot_IT(), MatExp::GetMom(), MatExp::GetVec(), Mat3x3::Transpose(), grad::Transpose(), and RotManip::VecRot().

Referenced by Compute().

282  {
283  Vec3 phi(RotManip::VecRot(H.GetVec()));
284  return VecExp(phi,
286  (H.GetMom()*(H.GetVec().Transpose())).Ax())
287  );
288 }
Mat3x3 DRot_IT(const Vec3 &phi)
Definition: Rot.cc:100
const Mat3x3 & GetVec(void) const
Definition: matvecexp.h:356
MatrixExpression< TransposedMatrix< MatrixDirectExpr< Matrix< T, N_rows, N_cols > > >, N_cols, N_rows > Transpose(const Matrix< T, N_rows, N_cols > &A)
Definition: matvec.h:2206
Definition: matvec3.h:98
Vec3 VecRot(const Mat3x3 &Phi)
Definition: Rot.cc:136
Mat3x3 Transpose(void) const
Definition: matvec3.h:816
const Mat3x3 & GetMom(void) const
Definition: matvecexp.h:360

Here is the call graph for this function:

MatExp RoTrManip::RoTr ( const VecExp eta)

Definition at line 208 of file Rot.cc.

References RotCoeff::COEFF_B, RotCoeff::CoeffB(), and VecExp::GetVec().

208  {
209  ScalExp coeff[COEFF_B];
210 
211  CoeffB(phi,phi.GetVec(),coeff);
212 
213  MatExp Phi(1., phi*coeff[0]); /* I + c[0] * phi x */
214  Phi += MatExp(phi, phi*coeff[1]); /* += c[1] * phi x phi x */
215 
216  return Phi;
217 }
void CoeffB(const T1 &phi, const Vec3 &p, T2 *const coeff)
const Int COEFF_B
Definition: RotCoeff.hh:63

Here is the call graph for this function:

void RoTrManip::RoTrAndDRoTr ( const VecExp eta,
MatExp H,
MatExp Th 
)

Definition at line 230 of file Rot.cc.

References RotCoeff::COEFF_C, RotCoeff::CoeffC(), and VecExp::GetVec().

Referenced by Compute().

230  {
231  ScalExp coeff[COEFF_C];
232 
233  CoeffC(phi,phi.GetVec(),coeff);
234 
235  Phi = MatExp(1., phi*coeff[0]);
236  Phi += MatExp(phi, phi*coeff[1]);
237 
238  Ga = MatExp(1., phi*coeff[1]);
239  Ga += MatExp(phi, phi*coeff[2]);
240 
241  return;
242 }
void CoeffC(const T1 &phi, const Vec3 &p, T2 *const coeff)
const Int COEFF_C
Definition: RotCoeff.hh:64

Here is the call graph for this function:

void RoTrManip::RoTrAndDRoTr_It ( const VecExp eta,
MatExp HIt,
MatExp ThIt 
)

Definition at line 266 of file Rot.cc.

References RotCoeff::COEFF_C_STAR, RotCoeff::COEFF_D, RotCoeff::CoeffCStar(), and VecExp::GetVec().

268  {
269  ScalExp coeff[COEFF_D], coeffs[COEFF_C_STAR];
270 
271  CoeffCStar(phi,phi.GetVec(),coeff,coeffs);
272 
273  PhiIT = MatExp(1., phi*coeff[0]);
274  PhiIT += MatExp(phi, phi*coeff[1]);
275 
276  GaIT = MatExp(1., phi*.5);
277  GaIT += MatExp(phi, phi*coeffs[0]);
278 
279  return;
280 }
const Int COEFF_D
Definition: RotCoeff.hh:65
void CoeffCStar(const T1 &phi, const Vec3 &p, T2 *const coeff, T2 *const coeffs)
const Int COEFF_C_STAR
Definition: RotCoeff.hh:69

Here is the call graph for this function: