v0.9.0
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 310 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 324 of file EshelbianPlasticity.hpp.

328  : rowField(row_field), colField(col_field), rowType(row_type),
329  colType(col_type), rowSide(row_side), colSide(col_side),
330  setAtElement(true) {
331 
332  M.resize(m.size1(), m.size2(), false);
333  noalias(M) = m;
334  rowInd.resize(row_ind.size(), false);
335  noalias(rowInd) = row_ind;
336  colInd.resize(col_ind.size(), false);
337  noalias(colInd) = col_ind;
338 
339  }

Member Function Documentation

◆ addMat()

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

Definition at line 356 of file EshelbianPlasticity.hpp.

356  {
357  auto &const_m = const_cast<MatrixDouble &>(M);
358  const_m += m;
359  }

◆ clearMat()

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

Definition at line 361 of file EshelbianPlasticity.hpp.

361  {
362  auto &const_m = const_cast<MatrixDouble &>(M);
363  const_m.clear();
364  }

◆ setInd()

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

Definition at line 341 of file EshelbianPlasticity.hpp.

341  {
342  auto &const_row_ind = const_cast<VectorInt &>(rowInd);
343  auto &const_col_ind = const_cast<VectorInt &>(colInd);
344  const_row_ind.resize(row_ind.size(), false);
345  noalias(const_row_ind) = row_ind;
346  const_col_ind.resize(col_ind.size(), false);
347  noalias(const_col_ind) = col_ind;
348  }

◆ setMat()

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

Definition at line 350 of file EshelbianPlasticity.hpp.

350  {
351  auto &const_m = const_cast<MatrixDouble &>(M);
352  const_m.resize(m.size1(), m.size2(), false);
353  noalias(const_m) = m;
354  }

◆ setSetAtElement()

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

Definition at line 366 of file EshelbianPlasticity.hpp.

366  {
367  bool &set = const_cast<bool &>(setAtElement);
368  set = true;
369  }

◆ unSetAtElement()

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

Definition at line 371 of file EshelbianPlasticity.hpp.

371  {
372  bool &set = const_cast<bool &>(setAtElement);
373  set = false;
374  }

Member Data Documentation

◆ colField

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

Definition at line 313 of file EshelbianPlasticity.hpp.

◆ colInd

VectorInt EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::colInd

Definition at line 320 of file EshelbianPlasticity.hpp.

◆ colSide

int EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::colSide

Definition at line 317 of file EshelbianPlasticity.hpp.

◆ colType

EntityType EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::colType

Definition at line 315 of file EshelbianPlasticity.hpp.

◆ M

MatrixDouble EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::M

Definition at line 318 of file EshelbianPlasticity.hpp.

◆ rowField

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

Definition at line 312 of file EshelbianPlasticity.hpp.

◆ rowInd

VectorInt EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::rowInd

Definition at line 319 of file EshelbianPlasticity.hpp.

◆ rowSide

int EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::rowSide

Definition at line 316 of file EshelbianPlasticity.hpp.

◆ rowType

EntityType EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::rowType

Definition at line 314 of file EshelbianPlasticity.hpp.

◆ setAtElement

bool EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::setAtElement

Definition at line 322 of file EshelbianPlasticity.hpp.


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