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 294 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 308 of file EshelbianPlasticity.hpp.

312  : rowField(row_field), colField(col_field), rowType(row_type),
313  colType(col_type), rowSide(row_side), colSide(col_side),
314  setAtElement(true) {
315 
316  M.resize(m.size1(), m.size2(), false);
317  noalias(M) = m;
318  rowInd.resize(row_ind.size(), false);
319  noalias(rowInd) = row_ind;
320  colInd.resize(col_ind.size(), false);
321  noalias(colInd) = col_ind;
322  }
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 339 of file EshelbianPlasticity.hpp.

339  {
340  auto &const_m = const_cast<MatrixDouble &>(M);
341  const_m += m;
342  }
FTensor::Index< 'm', 2 > m
Definition: PlasticOps.hpp:67

◆ clearMat()

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

Definition at line 344 of file EshelbianPlasticity.hpp.

344  {
345  auto &const_m = const_cast<MatrixDouble &>(M);
346  const_m.clear();
347  }

◆ setInd()

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

Definition at line 324 of file EshelbianPlasticity.hpp.

324  {
325  auto &const_row_ind = const_cast<VectorInt &>(rowInd);
326  auto &const_col_ind = const_cast<VectorInt &>(colInd);
327  const_row_ind.resize(row_ind.size(), false);
328  noalias(const_row_ind) = row_ind;
329  const_col_ind.resize(col_ind.size(), false);
330  noalias(const_col_ind) = col_ind;
331  }

◆ setMat()

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

Definition at line 333 of file EshelbianPlasticity.hpp.

333  {
334  auto &const_m = const_cast<MatrixDouble &>(M);
335  const_m.resize(m.size1(), m.size2(), false);
336  noalias(const_m) = m;
337  }
FTensor::Index< 'm', 2 > m
Definition: PlasticOps.hpp:67

◆ setSetAtElement()

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

Definition at line 349 of file EshelbianPlasticity.hpp.

349  {
350  bool &set = const_cast<bool &>(setAtElement);
351  set = true;
352  }

◆ unSetAtElement()

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

Definition at line 354 of file EshelbianPlasticity.hpp.

354  {
355  bool &set = const_cast<bool &>(setAtElement);
356  set = false;
357  }

Member Data Documentation

◆ colField

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

Definition at line 297 of file EshelbianPlasticity.hpp.

◆ colInd

VectorInt EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::colInd

Definition at line 304 of file EshelbianPlasticity.hpp.

◆ colSide

int EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::colSide

Definition at line 301 of file EshelbianPlasticity.hpp.

◆ colType

EntityType EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::colType

Definition at line 299 of file EshelbianPlasticity.hpp.

◆ M

MatrixDouble EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::M

Definition at line 302 of file EshelbianPlasticity.hpp.

◆ rowField

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

Definition at line 296 of file EshelbianPlasticity.hpp.

◆ rowInd

VectorInt EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::rowInd

Definition at line 303 of file EshelbianPlasticity.hpp.

◆ rowSide

int EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::rowSide

Definition at line 300 of file EshelbianPlasticity.hpp.

◆ rowType

EntityType EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::rowType

Definition at line 298 of file EshelbianPlasticity.hpp.

◆ setAtElement

bool EshelbianPlasticity::DataAtIntegrationPts::BlockMatData::setAtElement

Definition at line 306 of file EshelbianPlasticity.hpp.


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