Project Chrono: chrono::fea::ChMatrixCorotation Class Reference

Static Public Member Functions | List of all members
chrono::fea::ChMatrixCorotation Class Reference
Chrono::Engine » Finite Element Analysis » Mathematical support

## Description

Perform a corotation (warping) of a K matrix by pre- or post- multiplying it with a C matrix that has 3x3 rotation matrices R as diagonal blocks, so that C*K means:

               [R      ]  [       ]
               [   R   ] *[   K   ]
               [      R]  [       ]

This is often used in FEA codes to rotate a K local stiffness matrix and to obtain a global stiffness matrix. This class provides methods to do either C*K or also C*K*C' , without explicitly building C, for improved performance.

`#include <ChMatrixCorotation.h>`

## Static Public Member Functions
static void | ComputeCK (ChMatrixConstRef K, const ChMatrix33<> &R, const int nblocks, ChMatrixRef CK)
| Perform a corotation (warping) of a K matrix by pre-multiplying it with a C matrix; C has 3x3 rotation matrices R as diagonal blocks.
static void | ComputeKCt (ChMatrixConstRef K, const ChMatrix33<> &R, const int nblocks, ChMatrixRef KC)
| Perform a corotation (warping) of a K matrix by post-multiplying it with a transposed C matrix; C has 3x3 rotation matrices R as diagonal blocks.
static void | ComputeCK (ChMatrixConstRef K, const std::vector< ChMatrix33<> * > &R, const int nblocks, ChMatrixRef CK)
| Perform a corotation (warping) of a K matrix by pre-multiplying it with a C matrix; C has 3x3 rotation matrices R as diagonal blocks (generic version with different rotations).
static void | ComputeKCt (ChMatrixConstRef K, const std::vector< ChMatrix33<> * > &R, const int nblocks, ChMatrixRef KC)
| Perform a corotation (warping) of a K matrix by post-multiplying it with a transposed C matrix; C has 3x3 rotation matrices R as diagonal blocks (generic version with different rotations).

## Member Function Documentation

## ◆ ComputeCK() [1/2]

void chrono::fea::ChMatrixCorotation::ComputeCK | ( | ChMatrixConstRef | K,
|  | const ChMatrix33<> & | R,
|  | const int | nblocks,
|  | ChMatrixRef | CK )
| static

Perform a corotation (warping) of a K matrix by pre-multiplying it with a C matrix; C has 3x3 rotation matrices R as diagonal blocks.

Parameters

  K | matrix to pre-corotate
  R | 3x3 rotation matrix
  nblocks | number of rotation blocks
  CK | result matrix: C*K

## ◆ ComputeCK() [2/2]

void chrono::fea::ChMatrixCorotation::ComputeCK | ( | ChMatrixConstRef | K,
|  | const std::vector< ChMatrix33<> * > & | R,
|  | const int | nblocks,
|  | ChMatrixRef | CK )
| static

Perform a corotation (warping) of a K matrix by pre-multiplying it with a C matrix; C has 3x3 rotation matrices R as diagonal blocks (generic version with different rotations).

Parameters

  K | matrix to pre-corotate
  R | 3x3 rotation matrices
  nblocks | number of rotation blocks
  CK | result matrix: C*K

## ◆ ComputeKCt() [1/2]

void chrono::fea::ChMatrixCorotation::ComputeKCt | ( | ChMatrixConstRef | K,
|  | const ChMatrix33<> & | R,
|  | const int | nblocks,
|  | ChMatrixRef | KC )
| static

Perform a corotation (warping) of a K matrix by post-multiplying it with a transposed C matrix; C has 3x3 rotation matrices R as diagonal blocks.

Parameters

  K | matrix to post-corotate
  R | 3x3 rotation matrix (will be used transposed)
  nblocks | number of rotation blocks
  KC | result matrix: C*K

## ◆ ComputeKCt() [2/2]

void chrono::fea::ChMatrixCorotation::ComputeKCt | ( | ChMatrixConstRef | K,
|  | const std::vector< ChMatrix33<> * > & | R,
|  | const int | nblocks,
|  | ChMatrixRef | KC )
| static

Perform a corotation (warping) of a K matrix by post-multiplying it with a transposed C matrix; C has 3x3 rotation matrices R as diagonal blocks (generic version with different rotations).

Parameters

  K | matrix to post-corotate
  R | 3x3 rotation matrices (used transposed)
  nblocks | number of rotation blocks
  KC | result matrix: C*K

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

- D:/W/B/src/chrono-9.0.1/src/chrono/fea/ChMatrixCorotation.h
- D:/W/B/src/chrono-9.0.1/src/chrono/fea/ChMatrixCorotation.cpp