v0.14.0
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
MoFEM::BlockMatData Struct Reference

#include <users_modules/multifield_plasticity/src/BlockMatData.hpp>

Collaboration diagram for MoFEM::BlockMatData:
[legend]

Public Member Functions

 BlockMatData (const std::string row_field, const std::string col_field, EntityType row_type, EntityType col_type, int row_side, int col_side, const MatrixDouble &m, const VectorInt row_ind, VectorInt col_ind)
 
void setInd (const VectorInt &row_ind, const VectorInt &col_ind) const
 
void setMat (const MatrixDouble &m) const
 
void addMat (const MatrixDouble &m) const
 
void clearMat () const
 
void setSetAtElement () const
 
void unSetAtElement () const
 

Public Attributes

std::string rowField
 
std::string colField
 
EntityType rowType
 
EntityType colType
 
int rowSide
 
int colSide
 
MatrixDouble M
 
VectorInt rowInd
 
VectorInt colInd
 
bool setAtElement
 

Detailed Description

Definition at line 20 of file BlockMatData.hpp.

Constructor & Destructor Documentation

◆ BlockMatData()

MoFEM::BlockMatData::BlockMatData ( const std::string  row_field,
const std::string  col_field,
EntityType  row_type,
EntityType  col_type,
int  row_side,
int  col_side,
const MatrixDouble m,
const VectorInt  row_ind,
VectorInt  col_ind 
)
inline

Definition at line 34 of file BlockMatData.hpp.

38 : rowField(row_field), colField(col_field), rowType(row_type),
39 colType(col_type), rowSide(row_side), colSide(col_side),
40 setAtElement(true) {
41
42 M.resize(m.size1(), m.size2(), false);
43 noalias(M) = m;
44 rowInd.resize(row_ind.size(), false);
45 noalias(rowInd) = row_ind;
46 colInd.resize(col_ind.size(), false);
47 noalias(colInd) = col_ind;
48 }
FTensor::Index< 'm', SPACE_DIM > m
std::string rowField
std::string colField

Member Function Documentation

◆ addMat()

void MoFEM::BlockMatData::addMat ( const MatrixDouble m) const
inline

Definition at line 65 of file BlockMatData.hpp.

65 {
66 auto &const_m = const_cast<MatrixDouble &>(M);
67 const_m += m;
68 }
UBlasMatrix< double > MatrixDouble
Definition: Types.hpp:77

◆ clearMat()

void MoFEM::BlockMatData::clearMat ( ) const
inline

Definition at line 70 of file BlockMatData.hpp.

70 {
71 auto &const_m = const_cast<MatrixDouble &>(M);
72 const_m.clear();
73 }

◆ setInd()

void MoFEM::BlockMatData::setInd ( const VectorInt row_ind,
const VectorInt col_ind 
) const
inline

Definition at line 50 of file BlockMatData.hpp.

50 {
51 auto &const_row_ind = const_cast<VectorInt &>(rowInd);
52 auto &const_col_ind = const_cast<VectorInt &>(colInd);
53 const_row_ind.resize(row_ind.size(), false);
54 noalias(const_row_ind) = row_ind;
55 const_col_ind.resize(col_ind.size(), false);
56 noalias(const_col_ind) = col_ind;
57 }
UBlasVector< int > VectorInt
Definition: Types.hpp:67

◆ setMat()

void MoFEM::BlockMatData::setMat ( const MatrixDouble m) const
inline

Definition at line 59 of file BlockMatData.hpp.

59 {
60 auto &const_m = const_cast<MatrixDouble &>(M);
61 const_m.resize(m.size1(), m.size2(), false);
62 noalias(const_m) = m;
63 }

◆ setSetAtElement()

void MoFEM::BlockMatData::setSetAtElement ( ) const
inline

Definition at line 75 of file BlockMatData.hpp.

75 {
76 bool &set = const_cast<bool &>(setAtElement);
77 set = true;
78 }

◆ unSetAtElement()

void MoFEM::BlockMatData::unSetAtElement ( ) const
inline

Definition at line 80 of file BlockMatData.hpp.

80 {
81 bool &set = const_cast<bool &>(setAtElement);
82 set = false;
83 }

Member Data Documentation

◆ colField

std::string MoFEM::BlockMatData::colField

Definition at line 23 of file BlockMatData.hpp.

◆ colInd

VectorInt MoFEM::BlockMatData::colInd

Definition at line 30 of file BlockMatData.hpp.

◆ colSide

int MoFEM::BlockMatData::colSide

Definition at line 27 of file BlockMatData.hpp.

◆ colType

EntityType MoFEM::BlockMatData::colType

Definition at line 25 of file BlockMatData.hpp.

◆ M

MatrixDouble MoFEM::BlockMatData::M

Definition at line 28 of file BlockMatData.hpp.

◆ rowField

std::string MoFEM::BlockMatData::rowField

Definition at line 22 of file BlockMatData.hpp.

◆ rowInd

VectorInt MoFEM::BlockMatData::rowInd

Definition at line 29 of file BlockMatData.hpp.

◆ rowSide

int MoFEM::BlockMatData::rowSide

Definition at line 26 of file BlockMatData.hpp.

◆ rowType

EntityType MoFEM::BlockMatData::rowType

Definition at line 24 of file BlockMatData.hpp.

◆ setAtElement

bool MoFEM::BlockMatData::setAtElement

Definition at line 32 of file BlockMatData.hpp.


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