v0.9.1
Public Member Functions | Public Attributes | List of all members
EshelbianPlasticity::DataAtIntegrationPts::BlockMatData Struct Reference

#include <users_modules/eshelbian_plasticty/src/EshelbianPlasticity.hpp>

Collaboration diagram for EshelbianPlasticity::DataAtIntegrationPts::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 235 of file EshelbianPlasticity.hpp.

Constructor & Destructor Documentation

◆ BlockMatData()

EshelbianPlasticity::DataAtIntegrationPts::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 
)

Definition at line 249 of file EshelbianPlasticity.hpp.

253  : rowField(row_field), colField(col_field), rowType(row_type),
254  colType(col_type), rowSide(row_side), colSide(col_side),
255  setAtElement(true) {
256 
257  M.resize(m.size1(), m.size2(), false);
258  noalias(M) = m;
259  rowInd.resize(row_ind.size(), false);
260  noalias(rowInd) = row_ind;
261  colInd.resize(col_ind.size(), false);
262  noalias(colInd) = col_ind;
263  }
FTensor::Index< 'm', 2 > m
Definition: PlasticOps.hpp:67

Member Function Documentation

◆ addMat()

void EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::addMat ( const MatrixDouble &  m) const

Definition at line 280 of file EshelbianPlasticity.hpp.

280  {
281  auto &const_m = const_cast<MatrixDouble &>(M);
282  const_m += m;
283  }
FTensor::Index< 'm', 2 > m
Definition: PlasticOps.hpp:67

◆ clearMat()

void EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::clearMat ( ) const

Definition at line 285 of file EshelbianPlasticity.hpp.

285  {
286  auto &const_m = const_cast<MatrixDouble &>(M);
287  const_m.clear();
288  }

◆ setInd()

void EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::setInd ( const VectorInt &  row_ind,
const VectorInt &  col_ind 
) const

Definition at line 265 of file EshelbianPlasticity.hpp.

265  {
266  auto &const_row_ind = const_cast<VectorInt &>(rowInd);
267  auto &const_col_ind = const_cast<VectorInt &>(colInd);
268  const_row_ind.resize(row_ind.size(), false);
269  noalias(const_row_ind) = row_ind;
270  const_col_ind.resize(col_ind.size(), false);
271  noalias(const_col_ind) = col_ind;
272  }

◆ setMat()

void EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::setMat ( const MatrixDouble &  m) const

Definition at line 274 of file EshelbianPlasticity.hpp.

274  {
275  auto &const_m = const_cast<MatrixDouble &>(M);
276  const_m.resize(m.size1(), m.size2(), false);
277  noalias(const_m) = m;
278  }
FTensor::Index< 'm', 2 > m
Definition: PlasticOps.hpp:67

◆ setSetAtElement()

void EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::setSetAtElement ( ) const

Definition at line 290 of file EshelbianPlasticity.hpp.

290  {
291  bool &set = const_cast<bool &>(setAtElement);
292  set = true;
293  }

◆ unSetAtElement()

void EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::unSetAtElement ( ) const

Definition at line 295 of file EshelbianPlasticity.hpp.

295  {
296  bool &set = const_cast<bool &>(setAtElement);
297  set = false;
298  }

Member Data Documentation

◆ colField

std::string EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::colField

Definition at line 238 of file EshelbianPlasticity.hpp.

◆ colInd

VectorInt EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::colInd

Definition at line 245 of file EshelbianPlasticity.hpp.

◆ colSide

int EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::colSide

Definition at line 242 of file EshelbianPlasticity.hpp.

◆ colType

EntityType EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::colType

Definition at line 240 of file EshelbianPlasticity.hpp.

◆ M

MatrixDouble EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::M

Definition at line 243 of file EshelbianPlasticity.hpp.

◆ rowField

std::string EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::rowField

Definition at line 237 of file EshelbianPlasticity.hpp.

◆ rowInd

VectorInt EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::rowInd

Definition at line 244 of file EshelbianPlasticity.hpp.

◆ rowSide

int EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::rowSide

Definition at line 241 of file EshelbianPlasticity.hpp.

◆ rowType

EntityType EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::rowType

Definition at line 239 of file EshelbianPlasticity.hpp.

◆ setAtElement

bool EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::setAtElement

Definition at line 247 of file EshelbianPlasticity.hpp.


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