www.mooseframework.org
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ElasticityTensor Class Referenceabstract

This class defines a basic set of capabilities any elasticity tensor should have. More...

#include <ElasticityTensor.h>

Inheritance diagram for ElasticityTensor:
[legend]

Public Member Functions

 ElasticityTensor (const bool constant=false)
 Default constructor... More...
 
virtual ~ElasticityTensor ()
 
void calculate (unsigned int qp)
 Public function that will be called whenever the values for this matrix need to be filled in. More...
 
virtual ColumnMajorMatrix calculateDerivative (unsigned int qp, unsigned int i)
 

Protected Member Functions

virtual void calculateEntries (unsigned int qp)=0
 Pure virtual (must be overriden by derived class). More...
 

Protected Attributes

bool _constant
 Whether or not the matrix is constant for all of time and space. More...
 
bool _values_computed
 Whether or not the values have been computed once. More...
 

Detailed Description

This class defines a basic set of capabilities any elasticity tensor should have.

The ElasticityTensor (also called C_ijkl) is a 3x3x3x3 tensor that is represented here by a 9x9 matrix.

Note that there is a pure virtual function: calculateEntries. This function MUST be ovewritten by derived classes!

Definition at line 24 of file ElasticityTensor.h.

Constructor & Destructor Documentation

◆ ElasticityTensor()

ElasticityTensor::ElasticityTensor ( const bool  constant = false)

Default constructor...

creates a 9x9 matrix.

Parameters
constantDetermines whether or not the matrix will get recomputed multiple times (false) or just once (true).

Definition at line 12 of file ElasticityTensor.C.

13  : ColumnMajorMatrix(9, 9), _constant(constant), _values_computed(false)
14 {
15 }
bool _values_computed
Whether or not the values have been computed once.
bool _constant
Whether or not the matrix is constant for all of time and space.

◆ ~ElasticityTensor()

virtual ElasticityTensor::~ElasticityTensor ( )
inlinevirtual

Definition at line 35 of file ElasticityTensor.h.

35 {}

Member Function Documentation

◆ calculate()

void ElasticityTensor::calculate ( unsigned int  qp)

Public function that will be called whenever the values for this matrix need to be filled in.

Definition at line 18 of file ElasticityTensor.C.

19 {
20  if (!_constant || !_values_computed)
21  {
22  calculateEntries(qp);
23  _values_computed = true;
24  }
25 }
virtual void calculateEntries(unsigned int qp)=0
Pure virtual (must be overriden by derived class).
bool _values_computed
Whether or not the values have been computed once.
bool _constant
Whether or not the matrix is constant for all of time and space.

◆ calculateDerivative()

ColumnMajorMatrix ElasticityTensor::calculateDerivative ( unsigned int  qp,
unsigned int  i 
)
virtual

Definition at line 28 of file ElasticityTensor.C.

29 {
30  ColumnMajorMatrix m(9, 9);
31  return m;
32 }

◆ calculateEntries()

virtual void ElasticityTensor::calculateEntries ( unsigned int  qp)
protectedpure virtual

Pure virtual (must be overriden by derived class).

This method actually fills in the entries of the tensor... using whatever information it has.

Implemented in AnisotropicElasticityTensor, IsotropicElasticityTensor, and IsotropicElasticityTensorRZ.

Referenced by calculate().

Member Data Documentation

◆ _constant

bool ElasticityTensor::_constant
protected

Whether or not the matrix is constant for all of time and space.

Definition at line 49 of file ElasticityTensor.h.

Referenced by calculate().

◆ _values_computed

bool ElasticityTensor::_values_computed
protected

Whether or not the values have been computed once.

Definition at line 54 of file ElasticityTensor.h.

Referenced by calculate().


The documentation for this class was generated from the following files: