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 21 of file ElasticityTensor.h.

Constructor & Destructor Documentation

 ElasticityTensor::ElasticityTensor ( const bool constant = false )

Default constructor...

creates a 9x9 matrix.

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

Definition at line 9 of file ElasticityTensor.C.

10  : ColumnMajorMatrix(9, 9), _constant(constant), _values_computed(false)
11 {
12 }
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.
 virtual ElasticityTensor::~ElasticityTensor ( )
inlinevirtual

Definition at line 32 of file ElasticityTensor.h.

32 {}

Member Function Documentation

 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 15 of file ElasticityTensor.C.

Referenced by ~ElasticityTensor().

16 {
17  if (!_constant || !_values_computed)
18  {
19  calculateEntries(qp);
20  _values_computed = true;
21  }
22 }
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.
 ColumnMajorMatrix ElasticityTensor::calculateDerivative ( unsigned int qp, unsigned int i )
virtual

Definition at line 25 of file ElasticityTensor.C.

Referenced by ~ElasticityTensor().

26 {
27  ColumnMajorMatrix m(9, 9);
28  return m;
29 }
 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

 bool ElasticityTensor::_constant
protected

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

Definition at line 46 of file ElasticityTensor.h.

Referenced by calculate().

 bool ElasticityTensor::_values_computed
protected

Whether or not the values have been computed once.

Definition at line 51 of file ElasticityTensor.h.

Referenced by calculate().

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