MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
grad::MatCrossCrossInit< T, VectorExpr > Class Template Reference

#include <matvec.h>

Collaboration diagram for grad::MatCrossCrossInit< T, VectorExpr >:

Public Member Functions

 MatCrossCrossInit (const VectorExpression< VectorExpr, 3 > &v)
 
void Initialize (Matrix< T, 3, 3 > &A) const
 
index_type iGetNumRows () const
 
index_type iGetNumCols () const
 

Static Public Attributes

static const index_type iNumRows = 3
 
static const index_type iNumCols = 3
 

Private Attributes

const VectorExpression
< VectorExpr, 3 > 
v
 

Detailed Description

template<typename T, typename VectorExpr>
class grad::MatCrossCrossInit< T, VectorExpr >

Definition at line 2684 of file matvec.h.

Constructor & Destructor Documentation

template<typename T , typename VectorExpr >
grad::MatCrossCrossInit< T, VectorExpr >::MatCrossCrossInit ( const VectorExpression< VectorExpr, 3 > &  v)
inline

Definition at line 2689 of file matvec.h.

2690  :v(v) {
2691 
2692  }
const VectorExpression< VectorExpr, 3 > v
Definition: matvec.h:2718

Member Function Documentation

template<typename T , typename VectorExpr >
index_type grad::MatCrossCrossInit< T, VectorExpr >::iGetNumCols ( void  ) const
inline

Definition at line 2716 of file matvec.h.

2716 { return iNumCols; }
static const index_type iNumCols
Definition: matvec.h:2687
template<typename T , typename VectorExpr >
index_type grad::MatCrossCrossInit< T, VectorExpr >::iGetNumRows ( void  ) const
inline

Definition at line 2715 of file matvec.h.

References grad::Vector< T, N_rows >::iNumRows.

2715 { return iNumRows; }
static const index_type iNumRows
Definition: matvec.h:2686
template<typename T , typename VectorExpr >
void grad::MatCrossCrossInit< T, VectorExpr >::Initialize ( Matrix< T, 3, 3 > &  A) const
inline

Definition at line 2694 of file matvec.h.

2694  {
2695  const index_type x = 1, y = 2, z = 3;
2696 
2697  const T vxvx = v(x) * v(x);
2698  const T vyvy = v(y) * v(y);
2699  const T vzvz = v(z) * v(z);
2700  const T vxvy = v(x) * v(y);
2701  const T vxvz = v(x) * v(z);
2702  const T vyvz = v(y) * v(z);
2703 
2704  A(x, x) = -vzvz - vyvy;
2705  A(x, y) = vxvy;
2706  A(x, z) = vxvz;
2707  A(y, x) = vxvy;
2708  A(y, y) = -vzvz - vxvx;
2709  A(y, z) = vyvz;
2710  A(z, x) = vxvz;
2711  A(z, y) = vyvz;
2712  A(z, z) = -vyvy - vxvx;
2713  }
integer index_type
Definition: gradient.h:104
const VectorExpression< VectorExpr, 3 > v
Definition: matvec.h:2718

Member Data Documentation

template<typename T , typename VectorExpr >
const index_type grad::MatCrossCrossInit< T, VectorExpr >::iNumCols = 3
static

Definition at line 2687 of file matvec.h.

template<typename T , typename VectorExpr >
const index_type grad::MatCrossCrossInit< T, VectorExpr >::iNumRows = 3
static

Definition at line 2686 of file matvec.h.

template<typename T , typename VectorExpr >
const VectorExpression<VectorExpr, 3> grad::MatCrossCrossInit< T, VectorExpr >::v
private

Definition at line 2718 of file matvec.h.


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