#include <fem_operator_matrix.h>
|
| FEMOperatorMatrix () |
|
virtual | ~FEMOperatorMatrix () |
|
void | clear () |
| clears the data structures More...
|
|
unsigned int | m () const |
|
unsigned int | n () const |
|
void | print (std::ostream &o) |
|
void | reinit (unsigned int n_interpolated_vars, unsigned int n_discrete_vars, unsigned int n_discrete_dofs_per_var) |
| this initializes the operator for number of rows and variables, assuming that all variables has the same number of dofs. More...
|
|
void | set_shape_function (unsigned int interpolated_var, unsigned int discrete_var, const RealVectorX &shape_func) |
| sets the shape function values for the block corresponding to interpolated_var and discrete_var . More...
|
|
void | reinit (unsigned int n_interpolated_vars, const RealVectorX &shape_func) |
| this initializes all variables to use the same interpolation function. More...
|
|
template<typename T > |
void | vector_mult (T &res, const T &v) const |
| res = [this] * v More...
|
|
template<typename T > |
void | vector_mult_transpose (T &res, const T &v) const |
| res = v^T * [this] More...
|
|
template<typename T > |
void | right_multiply (T &r, const T &m) const |
| [R] = [this] * [M] More...
|
|
template<typename T > |
void | right_multiply_transpose (T &r, const T &m) const |
| [R] = [this]^T * [M] More...
|
|
template<typename T > |
void | right_multiply_transpose (T &r, const MAST::FEMOperatorMatrix &m) const |
| [R] = [this]^T * [M] More...
|
|
template<typename T > |
void | left_multiply (T &r, const T &m) const |
| [R] = [M] * [this] More...
|
|
template<typename T > |
void | left_multiply_transpose (T &r, const T &m) const |
| [R] = [M] * [this]^T More...
|
|
Definition at line 35 of file fem_operator_matrix.h.
MAST::FEMOperatorMatrix::FEMOperatorMatrix |
( |
| ) |
|
MAST::FEMOperatorMatrix::~FEMOperatorMatrix |
( |
| ) |
|
|
virtual |
void MAST::FEMOperatorMatrix::clear |
( |
| ) |
|
|
inline |
template<typename T >
void MAST::FEMOperatorMatrix::left_multiply |
( |
T & |
r, |
|
|
const T & |
m |
|
) |
| const |
|
inline |
template<typename T >
void MAST::FEMOperatorMatrix::left_multiply_transpose |
( |
T & |
r, |
|
|
const T & |
m |
|
) |
| const |
|
inline |
unsigned int MAST::FEMOperatorMatrix::m |
( |
| ) |
const |
|
inline |
unsigned int MAST::FEMOperatorMatrix::n |
( |
| ) |
const |
|
inline |
void MAST::FEMOperatorMatrix::print |
( |
std::ostream & |
o | ) |
|
|
inline |
void MAST::FEMOperatorMatrix::reinit |
( |
unsigned int |
n_interpolated_vars, |
|
|
unsigned int |
n_discrete_vars, |
|
|
unsigned int |
n_discrete_dofs_per_var |
|
) |
| |
|
inline |
this initializes the operator for number of rows and variables, assuming that all variables has the same number of dofs.
This is typically the case for structural strain operator matrices. Note that when this method is used the user must set the matrix entries by calling set_shape_functions
Definition at line 210 of file fem_operator_matrix.h.
void MAST::FEMOperatorMatrix::reinit |
( |
unsigned int |
n_interpolated_vars, |
|
|
const RealVectorX & |
shape_func |
|
) |
| |
|
inline |
this initializes all variables to use the same interpolation function.
It is assumed that the number of discrete vars is same as the number of interpolated vars. This is typically the case for fluid elements and for structural element inertial matrix calculations
Definition at line 256 of file fem_operator_matrix.h.
template<typename T >
void MAST::FEMOperatorMatrix::right_multiply |
( |
T & |
r, |
|
|
const T & |
m |
|
) |
| const |
|
inline |
template<typename T >
void MAST::FEMOperatorMatrix::right_multiply_transpose |
( |
T & |
r, |
|
|
const T & |
m |
|
) |
| const |
|
inline |
void MAST::FEMOperatorMatrix::set_shape_function |
( |
unsigned int |
interpolated_var, |
|
|
unsigned int |
discrete_var, |
|
|
const RealVectorX & |
shape_func |
|
) |
| |
|
inline |
sets the shape function values for the block corresponding to interpolated_var
and discrete_var
.
This means that the row interpolated_var
, the value in columns discrete_vars*n_discrete_dofs_per_var
- (discrete_vars+1)*n_discrete_dofs_per_var-1) will be set equal to shape_func
.
Definition at line 228 of file fem_operator_matrix.h.
template<typename T >
void MAST::FEMOperatorMatrix::vector_mult |
( |
T & |
res, |
|
|
const T & |
v |
|
) |
| const |
|
inline |
template<typename T >
void MAST::FEMOperatorMatrix::vector_mult_transpose |
( |
T & |
res, |
|
|
const T & |
v |
|
) |
| const |
|
inline |
unsigned int MAST::FEMOperatorMatrix::_n_discrete_vars |
|
protected |
unsigned int MAST::FEMOperatorMatrix::_n_dofs_per_var |
|
protected |
unsigned int MAST::FEMOperatorMatrix::_n_interpolated_vars |
|
protected |
std::vector<RealVectorX*> MAST::FEMOperatorMatrix::_var_shape_functions |
|
protected |
stores the shape function values that defines the coupling of i_th interpolated var and j_th discrete var.
Stored in column major format. nullptr, if values are zero, otherwise the value is set in the vector.
Definition at line 158 of file fem_operator_matrix.h.
The documentation for this class was generated from the following files: