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

#include <matvec6.h>

Collaboration diagram for Mat6x6:

Public Member Functions

 Mat6x6 (void)
 
 ~Mat6x6 (void)
 
 Mat6x6 (const Mat6x6 &min)
 
 Mat6x6 (const doublereal &d11, const doublereal &d21, const doublereal &d31, const doublereal &d41, const doublereal &d51, const doublereal &d61, const doublereal &d12, const doublereal &d22, const doublereal &d32, const doublereal &d42, const doublereal &d52, const doublereal &d62, const doublereal &d13, const doublereal &d23, const doublereal &d33, const doublereal &d43, const doublereal &d53, const doublereal &d63, const doublereal &d14, const doublereal &d24, const doublereal &d34, const doublereal &d44, const doublereal &d54, const doublereal &d64, const doublereal &d15, const doublereal &d25, const doublereal &d35, const doublereal &d45, const doublereal &d55, const doublereal &d65, const doublereal &d16, const doublereal &d26, const doublereal &d36, const doublereal &d46, const doublereal &d56, const doublereal &d66)
 
 Mat6x6 (const doublereal *pd, unsigned int i=6)
 
 Mat6x6 (const Mat3x3 &m11, const Mat3x3 &m21, const Mat3x3 &m12, const Mat3x3 &m22)
 
Mat3x3 GetMat11 (void)
 
Mat3x3 GetMat21 (void)
 
Mat3x3 GetMat12 (void)
 
Mat3x3 GetMat22 (void)
 
Mat3x3 GetMat (unsigned short int i, unsigned short int j)
 
const Mat3x3GetMat11 (void) const
 
const Mat3x3GetMat21 (void) const
 
const Mat3x3GetMat12 (void) const
 
const Mat3x3GetMat22 (void) const
 
const Mat3x3GetMat (unsigned short int i, unsigned short int j) const
 
void PutMat11 (const Mat3x3 &x)
 
void PutMat21 (const Mat3x3 &x)
 
void PutMat12 (const Mat3x3 &x)
 
void PutMat22 (const Mat3x3 &x)
 
void PutMat (unsigned short int i, unsigned short int j, const Mat3x3 &x)
 
void AddMat11 (const Mat3x3 &x)
 
void AddMat21 (const Mat3x3 &x)
 
void AddMat12 (const Mat3x3 &x)
 
void AddMat22 (const Mat3x3 &x)
 
void AddMat (unsigned short int i, unsigned short int j, const Mat3x3 &x)
 
void SubMat11 (const Mat3x3 &x)
 
void SubMat21 (const Mat3x3 &x)
 
void SubMat12 (const Mat3x3 &x)
 
void SubMat22 (const Mat3x3 &x)
 
void SubMat (unsigned short int i, unsigned short int j, const Mat3x3 &x)
 
const doublerealpGetMat (unsigned short int i, unsigned short int j) const
 
Mat6x6operator= (const Mat6x6 &x)
 
Mat6x6operator+= (const Mat6x6 &x)
 
Mat6x6operator-= (const Mat6x6 &x)
 
Mat6x6 operator+ (const Mat6x6 &x) const
 
Mat6x6 operator- (const Mat6x6 &x) const
 
Mat6x6 operator* (const doublereal &d) const
 
Mat6x6 operator/ (const doublereal &d) const
 
Mat6x6operator*= (const doublereal &d)
 
Mat6x6operator/= (const doublereal &d)
 
Vec6 operator* (const Vec6 &v) const
 
Mat6x6 operator* (const Mat6x6 &x) const
 
bool IsNull (void) const
 
bool IsExactlySame (const Mat6x6 &x) const
 
bool IsSame (const Mat6x6 &x, const doublereal &dTol) const
 
Mat6x6 Transpose (void)
 
const doublerealdGet (unsigned short int ir, unsigned short int ic) const
 
const doublerealoperator() (unsigned short int ir, unsigned short int ic) const
 
doublerealoperator() (unsigned short int ir, unsigned short int ic)
 
void Put (unsigned short int ir, unsigned short int ic, const doublereal &d)
 
void Reset (void)
 
std::ostream & Write (std::ostream &out, const char *sFill=" ", const char *sFill2=NULL) const
 

Protected Attributes

Mat3x3 m [2][2]
 

Detailed Description

Definition at line 234 of file matvec6.h.

Constructor & Destructor Documentation

Mat6x6::Mat6x6 ( void  )
inline

Definition at line 239 of file matvec6.h.

References NO_OP.

Referenced by operator*(), operator+(), operator-(), operator/(), and Transpose().

239  {
240  NO_OP;
241  };
#define NO_OP
Definition: myassert.h:74
Mat6x6::~Mat6x6 ( void  )
inline

Definition at line 243 of file matvec6.h.

References NO_OP.

243  {
244  NO_OP;
245  };
#define NO_OP
Definition: myassert.h:74
Mat6x6::Mat6x6 ( const Mat6x6 min)
inline

Definition at line 247 of file matvec6.h.

References m.

247  {
248  m[0][0] = min.m[0][0];
249  m[1][0] = min.m[1][0];
250  m[0][1] = min.m[0][1];
251  m[1][1] = min.m[1][1];
252  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
Mat6x6::Mat6x6 ( const doublereal d11,
const doublereal d21,
const doublereal d31,
const doublereal d41,
const doublereal d51,
const doublereal d61,
const doublereal d12,
const doublereal d22,
const doublereal d32,
const doublereal d42,
const doublereal d52,
const doublereal d62,
const doublereal d13,
const doublereal d23,
const doublereal d33,
const doublereal d43,
const doublereal d53,
const doublereal d63,
const doublereal d14,
const doublereal d24,
const doublereal d34,
const doublereal d44,
const doublereal d54,
const doublereal d64,
const doublereal d15,
const doublereal d25,
const doublereal d35,
const doublereal d45,
const doublereal d55,
const doublereal d65,
const doublereal d16,
const doublereal d26,
const doublereal d36,
const doublereal d46,
const doublereal d56,
const doublereal d66 
)
inline

Definition at line 254 of file matvec6.h.

References m.

289  {
290  m[0][0] = Mat3x3(d11, d21, d31, d12, d22, d32, d13, d23, d33);
291  m[0][1] = Mat3x3(d14, d24, d34, d15, d25, d35, d16, d26, d36);
292  m[1][0] = Mat3x3(d41, d51, d61, d42, d52, d62, d43, d53, d63);
293  m[1][1] = Mat3x3(d44, d54, d64, d45, d55, d65, d46, d56, d66);
294  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
static const doublereal d13
Definition: aeroelem.cc:1556
Mat6x6::Mat6x6 ( const doublereal pd,
unsigned int  i = 6 
)
inline

Definition at line 296 of file matvec6.h.

References ASSERT, and m.

296  {
297  ASSERT(i >= 6);
298  m[0][0] = Mat3x3(*(pd+0),*(pd+1),*(pd+2),
299  *(pd+i+0),*(pd+i+1),*(pd+i+2),
300  *(pd+2*i+0),*(pd+2*i+1),*(pd+2*i+2));
301  m[0][1] = Mat3x3(*(pd+3*i+0),*(pd+3*i+1),*(pd+3*i+2),
302  *(pd+4*i+0),*(pd+4*i+1),*(pd+4*i+2),
303  *(pd+5*i+0),*(pd+5*i+1),*(pd+5*i+2));
304  m[1][0] = Mat3x3(*(pd+3),*(pd+4),*(pd+5),
305  *(pd+i+3),*(pd+i+4),*(pd+i+5),
306  *(pd+2*i+3),*(pd+2*i+4),*(pd+2*i+5));
307  m[1][1] = Mat3x3(*(pd+3*i+3),*(pd+3*i+4),*(pd+3*i+5),
308  *(pd+4*i+3),*(pd+4*i+4),*(pd+4*i+5),
309  *(pd+5*i+3),*(pd+5*i+4),*(pd+5*i+5));
310  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
#define ASSERT(expression)
Definition: colamd.c:977
Mat6x6::Mat6x6 ( const Mat3x3 m11,
const Mat3x3 m21,
const Mat3x3 m12,
const Mat3x3 m22 
)
inline

Definition at line 312 of file matvec6.h.

References m.

313  {
314  m[0][0] = m11;
315  m[1][0] = m21;
316  m[0][1] = m12;
317  m[1][1] = m22;
318  };
Mat3x3 m[2][2]
Definition: matvec6.h:236

Member Function Documentation

void Mat6x6::AddMat ( unsigned short int  i,
unsigned short int  j,
const Mat3x3 x 
)
inline

Definition at line 402 of file matvec6.h.

References ASSERT, and m.

402  {
403  ASSERT((i == 0 || i == 1) && (j == 0 || j == 1));
404  m[i][j] += x;
405  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
#define ASSERT(expression)
Definition: colamd.c:977
void Mat6x6::AddMat11 ( const Mat3x3 x)
inline

Definition at line 386 of file matvec6.h.

References m.

386  {
387  m[0][0] += x;
388  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
void Mat6x6::AddMat12 ( const Mat3x3 x)
inline

Definition at line 394 of file matvec6.h.

References m.

394  {
395  m[0][1] += x;
396  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
void Mat6x6::AddMat21 ( const Mat3x3 x)
inline

Definition at line 390 of file matvec6.h.

References m.

390  {
391  m[1][0] += x;
392  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
void Mat6x6::AddMat22 ( const Mat3x3 x)
inline

Definition at line 398 of file matvec6.h.

References m.

398  {
399  m[1][1] += x;
400  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
const doublereal& Mat6x6::dGet ( unsigned short int  ir,
unsigned short int  ic 
) const
inline

Definition at line 538 of file matvec6.h.

References ASSERT, Mat3x3::dGet(), m, and MBDYN_EXCEPT_ARGS.

538  {
539  ASSERT((ir > 0 && ir < 7) && (ic > 0 && ic < 7));
540  if (ir < 1 || ir > 6) {
541  throw ErrRowIndexOutOfRange(ir, 1, 6, MBDYN_EXCEPT_ARGS);
542  }
543  if (ic < 1 || ic > 6) {
544  throw ErrColIndexOutOfRange(ic, 1, 6, MBDYN_EXCEPT_ARGS);
545  }
546  unsigned short int jr = (ir-1)/3;
547  unsigned short int jc = (ic-1)/3;
548  return m[jr][jc].dGet(ir-3*jr, ic-3*jc);
549  };
const doublereal & dGet(unsigned short int iRow, unsigned short int iCol) const
Definition: matvec3.h:770
#define MBDYN_EXCEPT_ARGS
Definition: except.h:63
Mat3x3 m[2][2]
Definition: matvec6.h:236
#define ASSERT(expression)
Definition: colamd.c:977

Here is the call graph for this function:

Mat3x3 Mat6x6::GetMat ( unsigned short int  i,
unsigned short int  j 
)
inline

Definition at line 336 of file matvec6.h.

References ASSERT, and m.

336  {
337  ASSERT((i == 0 || i == 1) && (j == 0 || j == 1));
338  return m[i][j];
339  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
#define ASSERT(expression)
Definition: colamd.c:977
const Mat3x3& Mat6x6::GetMat ( unsigned short int  i,
unsigned short int  j 
) const
inline

Definition at line 357 of file matvec6.h.

References ASSERT, and m.

358  {
359  ASSERT((i == 0 || i == 1) && (j == 0 || j == 1));
360  return m[i][j];
361  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
#define ASSERT(expression)
Definition: colamd.c:977
const Mat3x3& Mat6x6::GetMat11 ( void  ) const
inline

Definition at line 341 of file matvec6.h.

References m.

341  {
342  return m[0][0];
343  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
const Mat3x3& Mat6x6::GetMat12 ( void  ) const
inline

Definition at line 349 of file matvec6.h.

References m.

349  {
350  return m[0][1];
351  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
const Mat3x3& Mat6x6::GetMat21 ( void  ) const
inline

Definition at line 345 of file matvec6.h.

References m.

345  {
346  return m[1][0];
347  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
const Mat3x3& Mat6x6::GetMat22 ( void  ) const
inline

Definition at line 353 of file matvec6.h.

References m.

353  {
354  return m[1][1];
355  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
bool Mat6x6::IsExactlySame ( const Mat6x6 x) const
inline

Definition at line 517 of file matvec6.h.

References GetMat11(), GetMat12(), GetMat21(), GetMat22(), and m.

517  {
518  return (m[0][0].IsExactlySame(x.GetMat11())
519  && m[0][1].IsExactlySame(x.GetMat12())
520  && m[1][0].IsExactlySame(x.GetMat21())
521  && m[1][1].IsExactlySame(x.GetMat22()));
522  };
Mat3x3 GetMat12(void)
Definition: matvec6.h:328
Mat3x3 GetMat21(void)
Definition: matvec6.h:324
Mat3x3 GetMat22(void)
Definition: matvec6.h:332
Mat3x3 GetMat11(void)
Definition: matvec6.h:320
Mat3x3 m[2][2]
Definition: matvec6.h:236
bool IsExactlySame(const Mat6x6 &x) const
Definition: matvec6.h:517

Here is the call graph for this function:

bool Mat6x6::IsNull ( void  ) const
inline

Definition at line 510 of file matvec6.h.

References m.

510  {
511  return (m[0][0].IsNull()
512  && m[0][1].IsNull()
513  && m[1][0].IsNull()
514  && m[1][1].IsNull());
515  };
bool IsNull(void) const
Definition: matvec6.h:510
Mat3x3 m[2][2]
Definition: matvec6.h:236
bool Mat6x6::IsSame ( const Mat6x6 x,
const doublereal dTol 
) const
inline

Definition at line 524 of file matvec6.h.

References GetMat11(), GetMat12(), GetMat21(), GetMat22(), and m.

524  {
525  return (m[0][0].IsSame(x.GetMat11(), dTol)
526  && m[0][1].IsSame(x.GetMat12(), dTol)
527  && m[1][0].IsSame(x.GetMat21(), dTol)
528  && m[1][1].IsSame(x.GetMat22(), dTol));
529  };
Mat3x3 GetMat12(void)
Definition: matvec6.h:328
Mat3x3 GetMat21(void)
Definition: matvec6.h:324
Mat3x3 GetMat22(void)
Definition: matvec6.h:332
Mat3x3 GetMat11(void)
Definition: matvec6.h:320
Mat3x3 m[2][2]
Definition: matvec6.h:236
bool IsSame(const Mat6x6 &x, const doublereal &dTol) const
Definition: matvec6.h:524

Here is the call graph for this function:

const doublereal& Mat6x6::operator() ( unsigned short int  ir,
unsigned short int  ic 
) const
inline

Definition at line 551 of file matvec6.h.

References ASSERT, and m.

551  {
552  ASSERT((ir > 0 && ir < 7) && (ic > 0 && ic < 7));
553  unsigned short int jr = (ir - 1)/3;
554  unsigned short int jc = (ic - 1)/3;
555  return m[jr][jc](ir - 3*jr, ic - 3*jc);
556  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
#define ASSERT(expression)
Definition: colamd.c:977
doublereal& Mat6x6::operator() ( unsigned short int  ir,
unsigned short int  ic 
)
inline

Definition at line 558 of file matvec6.h.

References ASSERT, and m.

558  {
559  ASSERT((ir > 0 && ir < 7) && (ic > 0 && ic < 7));
560  unsigned short int jr = (ir - 1)/3;
561  unsigned short int jc = (ic - 1)/3;
562  return m[jr][jc](ir - 3*jr, ic - 3*jc);
563  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
#define ASSERT(expression)
Definition: colamd.c:977
Mat6x6 Mat6x6::operator* ( const doublereal d) const
inline

Definition at line 472 of file matvec6.h.

References m, and Mat6x6().

472  {
473  return Mat6x6(m[0][0]*d, m[1][0]*d, m[0][1]*d, m[1][1]*d);
474  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
Mat6x6(void)
Definition: matvec6.h:239

Here is the call graph for this function:

Vec6 Mat6x6::operator* ( const Vec6 v) const
inline

Definition at line 498 of file matvec6.h.

References Vec6::GetVec1(), Vec6::GetVec2(), and m.

498  {
499  return Vec6(m[0][0]*v.GetVec1()+m[0][1]*v.GetVec2(),
500  m[1][0]*v.GetVec1()+m[1][1]*v.GetVec2());
501  };
const Vec3 & GetVec2(void) const
Definition: matvec6.h:76
Definition: matvec6.h:37
const Vec3 & GetVec1(void) const
Definition: matvec6.h:72
Mat3x3 m[2][2]
Definition: matvec6.h:236

Here is the call graph for this function:

Mat6x6 Mat6x6::operator* ( const Mat6x6 x) const
inline

Definition at line 503 of file matvec6.h.

References GetMat11(), GetMat12(), GetMat21(), GetMat22(), m, and Mat6x6().

503  {
504  return Mat6x6(m[0][0]*x.GetMat11()+m[0][1]*x.GetMat21(),
505  m[1][0]*x.GetMat11()+m[1][1]*x.GetMat21(),
506  m[0][0]*x.GetMat12()+m[0][1]*x.GetMat22(),
507  m[1][0]*x.GetMat12()+m[1][1]*x.GetMat22());
508  };
Mat3x3 GetMat12(void)
Definition: matvec6.h:328
Mat3x3 GetMat21(void)
Definition: matvec6.h:324
Mat3x3 GetMat22(void)
Definition: matvec6.h:332
Mat3x3 GetMat11(void)
Definition: matvec6.h:320
Mat3x3 m[2][2]
Definition: matvec6.h:236
Mat6x6(void)
Definition: matvec6.h:239

Here is the call graph for this function:

Mat6x6& Mat6x6::operator*= ( const doublereal d)
inline

Definition at line 481 of file matvec6.h.

References m.

481  {
482  m[0][0] *= d;
483  m[1][0] *= d;
484  m[0][1] *= d;
485  m[1][1] *= d;
486  return *this;
487  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
Mat6x6 Mat6x6::operator+ ( const Mat6x6 x) const
inline

Definition at line 462 of file matvec6.h.

References GetMat11(), GetMat12(), GetMat21(), GetMat22(), m, and Mat6x6().

462  {
463  return Mat6x6(m[0][0]+x.GetMat11(), m[1][0]+x.GetMat21(),
464  m[0][1]+x.GetMat12(), m[1][1]+x.GetMat22());
465  };
Mat3x3 GetMat12(void)
Definition: matvec6.h:328
Mat3x3 GetMat21(void)
Definition: matvec6.h:324
Mat3x3 GetMat22(void)
Definition: matvec6.h:332
Mat3x3 GetMat11(void)
Definition: matvec6.h:320
Mat3x3 m[2][2]
Definition: matvec6.h:236
Mat6x6(void)
Definition: matvec6.h:239

Here is the call graph for this function:

Mat6x6& Mat6x6::operator+= ( const Mat6x6 x)
inline

Definition at line 446 of file matvec6.h.

References GetMat11(), GetMat12(), GetMat21(), GetMat22(), and m.

446  {
447  m[0][0] += x.GetMat11();
448  m[1][0] += x.GetMat21();
449  m[0][1] += x.GetMat12();
450  m[1][1] += x.GetMat22();
451  return *this;
452  };
Mat3x3 GetMat12(void)
Definition: matvec6.h:328
Mat3x3 GetMat21(void)
Definition: matvec6.h:324
Mat3x3 GetMat22(void)
Definition: matvec6.h:332
Mat3x3 GetMat11(void)
Definition: matvec6.h:320
Mat3x3 m[2][2]
Definition: matvec6.h:236

Here is the call graph for this function:

Mat6x6 Mat6x6::operator- ( const Mat6x6 x) const
inline

Definition at line 467 of file matvec6.h.

References GetMat11(), GetMat12(), GetMat21(), GetMat22(), m, and Mat6x6().

467  {
468  return Mat6x6(m[0][0]-x.GetMat11(), m[1][0]-x.GetMat21(),
469  m[0][1]-x.GetMat12(), m[1][1]-x.GetMat22());
470  };
Mat3x3 GetMat12(void)
Definition: matvec6.h:328
Mat3x3 GetMat21(void)
Definition: matvec6.h:324
Mat3x3 GetMat22(void)
Definition: matvec6.h:332
Mat3x3 GetMat11(void)
Definition: matvec6.h:320
Mat3x3 m[2][2]
Definition: matvec6.h:236
Mat6x6(void)
Definition: matvec6.h:239

Here is the call graph for this function:

Mat6x6& Mat6x6::operator-= ( const Mat6x6 x)
inline

Definition at line 454 of file matvec6.h.

References GetMat11(), GetMat12(), GetMat21(), GetMat22(), and m.

454  {
455  m[0][0] -= x.GetMat11();
456  m[1][0] -= x.GetMat21();
457  m[0][1] -= x.GetMat12();
458  m[1][1] -= x.GetMat22();
459  return *this;
460  };
Mat3x3 GetMat12(void)
Definition: matvec6.h:328
Mat3x3 GetMat21(void)
Definition: matvec6.h:324
Mat3x3 GetMat22(void)
Definition: matvec6.h:332
Mat3x3 GetMat11(void)
Definition: matvec6.h:320
Mat3x3 m[2][2]
Definition: matvec6.h:236

Here is the call graph for this function:

Mat6x6 Mat6x6::operator/ ( const doublereal d) const
inline

Definition at line 476 of file matvec6.h.

References ASSERT, m, and Mat6x6().

476  {
477  ASSERT(d != 0.);
478  return Mat6x6(m[0][0]/d, m[1][0]/d, m[0][1]/d, m[1][1]/d);
479  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
#define ASSERT(expression)
Definition: colamd.c:977
Mat6x6(void)
Definition: matvec6.h:239

Here is the call graph for this function:

Mat6x6& Mat6x6::operator/= ( const doublereal d)
inline

Definition at line 489 of file matvec6.h.

References ASSERT, and m.

489  {
490  ASSERT(d != 0.);
491  m[0][0] /= d;
492  m[1][0] /= d;
493  m[0][1] /= d;
494  m[1][1] /= d;
495  return *this;
496  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
#define ASSERT(expression)
Definition: colamd.c:977
Mat6x6& Mat6x6::operator= ( const Mat6x6 x)
inline

Definition at line 438 of file matvec6.h.

References GetMat11(), GetMat12(), GetMat21(), GetMat22(), and m.

438  {
439  m[0][0] = x.GetMat11();
440  m[1][0] = x.GetMat21();
441  m[0][1] = x.GetMat12();
442  m[1][1] = x.GetMat22();
443  return *this;
444  };
Mat3x3 GetMat12(void)
Definition: matvec6.h:328
Mat3x3 GetMat21(void)
Definition: matvec6.h:324
Mat3x3 GetMat22(void)
Definition: matvec6.h:332
Mat3x3 GetMat11(void)
Definition: matvec6.h:320
Mat3x3 m[2][2]
Definition: matvec6.h:236

Here is the call graph for this function:

const doublereal* Mat6x6::pGetMat ( unsigned short int  i,
unsigned short int  j 
) const
inline

Definition at line 432 of file matvec6.h.

References ASSERT, m, and Mat3x3::pGetMat().

433  {
434  ASSERT((i == 0 || i == 1) && (j == 0 || j == 1));
435  return m[i][j].pGetMat();
436  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
#define ASSERT(expression)
Definition: colamd.c:977
const doublereal * pGetMat(void) const
Definition: matvec3.h:743

Here is the call graph for this function:

void Mat6x6::Put ( unsigned short int  ir,
unsigned short int  ic,
const doublereal d 
)
inline

Definition at line 565 of file matvec6.h.

References ASSERT, m, MBDYN_EXCEPT_ARGS, and Mat3x3::Put().

Referenced by AeroData::GetForcesJacCenteredDiff_int(), and AeroData::GetForcesJacForwardDiff_int().

565  {
566  ASSERT((ir > 0 && ir < 7) && (ic > 0 && ic < 7));
567  if (ir < 1 || ir > 6) {
568  throw ErrRowIndexOutOfRange(ir, 1, 6, MBDYN_EXCEPT_ARGS);
569  }
570  if (ic < 1 || ic > 6) {
571  throw ErrColIndexOutOfRange(ic, 1, 6, MBDYN_EXCEPT_ARGS);
572  }
573  unsigned short int jr = (ir-1)/3;
574  unsigned short int jc = (ic-1)/3;
575  m[jr][jc].Put(ir-3*jr, ic-3*jc, d);
576  };
#define MBDYN_EXCEPT_ARGS
Definition: except.h:63
Mat3x3 m[2][2]
Definition: matvec6.h:236
#define ASSERT(expression)
Definition: colamd.c:977
void Put(unsigned short int iRow, unsigned short int iCol, const doublereal &dCoef)
Definition: matvec3.h:758

Here is the call graph for this function:

void Mat6x6::PutMat ( unsigned short int  i,
unsigned short int  j,
const Mat3x3 x 
)
inline

Definition at line 380 of file matvec6.h.

References ASSERT, and m.

380  {
381  ASSERT((i == 0 || i == 1) && (j == 0 || j == 1));
382  m[i][j] = x;
383  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
#define ASSERT(expression)
Definition: colamd.c:977
void Mat6x6::PutMat11 ( const Mat3x3 x)
inline

Definition at line 364 of file matvec6.h.

References m.

Referenced by mb_deye< Mat6x6 >(), and MultRMRtGammam1().

364  {
365  m[0][0] = x;
366  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
void Mat6x6::PutMat12 ( const Mat3x3 x)
inline

Definition at line 372 of file matvec6.h.

References m.

Referenced by MultRMRtGammam1().

372  {
373  m[0][1] = x;
374  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
void Mat6x6::PutMat21 ( const Mat3x3 x)
inline

Definition at line 368 of file matvec6.h.

References m.

Referenced by MultRMRtGammam1().

368  {
369  m[1][0] = x;
370  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
void Mat6x6::PutMat22 ( const Mat3x3 x)
inline

Definition at line 376 of file matvec6.h.

References m.

Referenced by MultRMRtGammam1().

376  {
377  m[1][1] = x;
378  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
void Mat6x6::Reset ( void  )

Definition at line 73 of file matvec6.cc.

References m, and Mat3x3::Reset().

74 {
75  m[0][0].Reset();
76  m[0][1].Reset();
77  m[1][0].Reset();
78  m[1][1].Reset();
79 }
void Reset(void)
Definition: matvec3.cc:613
Mat3x3 m[2][2]
Definition: matvec6.h:236

Here is the call graph for this function:

void Mat6x6::SubMat ( unsigned short int  i,
unsigned short int  j,
const Mat3x3 x 
)
inline

Definition at line 424 of file matvec6.h.

References ASSERT, and m.

424  {
425  ASSERT((i == 0 || i == 1) && (j == 0 || j == 1));
426  m[i][j] -= x;
427  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
#define ASSERT(expression)
Definition: colamd.c:977
void Mat6x6::SubMat11 ( const Mat3x3 x)
inline

Definition at line 408 of file matvec6.h.

References m.

408  {
409  m[0][0] -= x;
410  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
void Mat6x6::SubMat12 ( const Mat3x3 x)
inline

Definition at line 416 of file matvec6.h.

References m.

Referenced by Beam2::AssStiffnessMat(), HBeam::AssStiffnessMat(), Beam::AssStiffnessMat(), ViscoElasticBeam2::AssStiffnessMat(), and ViscoElasticBeam::AssStiffnessMat().

416  {
417  m[0][1] -= x;
418  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
void Mat6x6::SubMat21 ( const Mat3x3 x)
inline

Definition at line 412 of file matvec6.h.

References m.

412  {
413  m[1][0] -= x;
414  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
void Mat6x6::SubMat22 ( const Mat3x3 x)
inline

Definition at line 420 of file matvec6.h.

References m.

Referenced by ViscoElasticBeam2::AssStiffnessMat(), and ViscoElasticBeam::AssStiffnessMat().

420  {
421  m[1][1] -= x;
422  };
Mat3x3 m[2][2]
Definition: matvec6.h:236
Mat6x6 Mat6x6::Transpose ( void  )
inline

Definition at line 531 of file matvec6.h.

References m, and Mat6x6().

531  {
532  return Mat6x6(m[0][0].Transpose(),
533  m[0][1].Transpose(),
534  m[1][0].Transpose(),
535  m[1][1].Transpose());
536  };
Mat6x6 Transpose(void)
Definition: matvec6.h:531
Mat3x3 m[2][2]
Definition: matvec6.h:236
Mat6x6(void)
Definition: matvec6.h:239

Here is the call graph for this function:

std::ostream & Mat6x6::Write ( std::ostream &  out,
const char *  sFill = " ",
const char *  sFill2 = NULL 
) const

Definition at line 112 of file matvec6.cc.

References Mat3x3::dGet(), and m.

Referenced by Write().

113 {
114  char* sF2 = (char*)sFill2;
115  if (sFill2 == NULL) {
116  sF2 = (char*)sFill;
117  }
118 
119  return out
120  << m[0][0].dGet(1,1) << sFill
121  << m[0][0].dGet(1,2) << sFill
122  << m[0][0].dGet(1,3) << sFill
123  << m[0][1].dGet(1,1) << sFill
124  << m[0][1].dGet(1,2) << sFill
125  << m[0][1].dGet(1,3) << sF2
126  << m[0][0].dGet(2,1) << sFill
127  << m[0][0].dGet(2,2) << sFill
128  << m[0][0].dGet(2,3) << sFill
129  << m[0][1].dGet(2,1) << sFill
130  << m[0][1].dGet(2,2) << sFill
131  << m[0][1].dGet(2,3) << sF2
132  << m[0][0].dGet(3,1) << sFill
133  << m[0][0].dGet(3,2) << sFill
134  << m[0][0].dGet(3,3) << sFill
135  << m[0][1].dGet(3,1) << sFill
136  << m[0][1].dGet(3,2) << sFill
137  << m[0][1].dGet(3,3) << sF2
138  << m[1][0].dGet(1,1) << sFill
139  << m[1][0].dGet(1,2) << sFill
140  << m[1][0].dGet(1,3) << sFill
141  << m[1][1].dGet(1,1) << sFill
142  << m[1][1].dGet(1,2) << sFill
143  << m[1][1].dGet(1,3) << sF2
144  << m[1][0].dGet(2,1) << sFill
145  << m[1][0].dGet(2,2) << sFill
146  << m[1][0].dGet(2,3) << sFill
147  << m[1][1].dGet(2,1) << sFill
148  << m[1][1].dGet(2,2) << sFill
149  << m[1][1].dGet(2,3) << sF2
150  << m[1][0].dGet(3,1) << sFill
151  << m[1][0].dGet(3,2) << sFill
152  << m[1][0].dGet(3,3) << sFill
153  << m[1][1].dGet(3,1) << sFill
154  << m[1][1].dGet(3,2) << sFill
155  << m[1][1].dGet(3,3);
156 }
const doublereal & dGet(unsigned short int iRow, unsigned short int iCol) const
Definition: matvec3.h:770
Mat3x3 m[2][2]
Definition: matvec6.h:236

Here is the call graph for this function:

Member Data Documentation


The documentation for this class was generated from the following files: