#include <ComputeReducedOrderEigenstrain.h>
Public Member Functions | |
ComputeReducedOrderEigenstrain (const InputParameters ¶meters) | |
void | initQpStatefulProperties () |
void | computeProperties () |
void | computeQpEigenstrain () |
Compute the eigenstrain and store in _eigenstrain. More... | |
Static Public Member Functions | |
static InputParameters | validParams () |
Protected Member Functions | |
virtual void | computeQpProperties () |
Real | computeVolumetricStrainComponent (const Real volumetric_strain) const |
Helper function for models that compute the eigenstrain based on a volumetric strain. More... | |
Protected Attributes | |
const std::string | _base_name |
Base name prepended to material property name. More... | |
std::string | _eigenstrain_name |
Material property name for the eigenstrain tensor. More... | |
MaterialProperty< RankTwoTensor > & | _eigenstrain |
Stores the current total eigenstrain. More... | |
bool & | _step_zero |
Restartable data to check for the zeroth and first time steps for thermal calculations. More... | |
Private Member Functions | |
void | applyEigenstrain (MaterialProperty< RankTwoTensor > &strain) |
Subtract adjusted eigenstrain from strain. More... | |
void | sumEigenstrain () |
Add contributions from every eigenstrain at each integration point. More... | |
void | prepareEigenstrain () |
Compute either the volume average or linear eigenstrain field in an element. More... | |
Private Attributes | |
std::vector< MaterialPropertyName > | _input_eigenstrain_names |
std::vector< const MaterialProperty< RankTwoTensor > * > | _eigenstrains |
SubProblem & | _subproblem |
const unsigned | _ncols |
Number of columns in A matrix (1 plus mesh dimension) More... | |
const bool | _second_order |
Whether the mesh is made of second order elements. More... | |
std::vector< RankTwoTensor > | _eigsum |
The sum of all eigenstrains at each integration point. More... | |
DenseMatrix< Real > | _A |
The (num q points x ncols) array for the least squares. Holds 1, xcoor, ycoor, zcoor. More... | |
std::vector< DenseVector< Real > > | _b |
The b array holding the unique eigenstrain components for each integration point. More... | |
DenseMatrix< Real > | _AT |
Transpose of A. More... | |
DenseVector< Real > | _ATb |
Transpose of A times b. More... | |
std::vector< DenseVector< Real > > | _x |
The solution vector for each unique component of the adjusted eigenstrain. More... | |
std::vector< Real > | _vals |
Vector to hold the adjusted strain as computed with _x. More... | |
RankTwoTensor | _adjusted_eigenstrain |
Filled with _vals and subracted from strain. More... | |
Definition at line 28 of file ComputeReducedOrderEigenstrain.h.
ComputeReducedOrderEigenstrain::ComputeReducedOrderEigenstrain | ( | const InputParameters & | parameters | ) |
Definition at line 30 of file ComputeReducedOrderEigenstrain.C.
|
private |
Subtract adjusted eigenstrain from strain.
void ComputeReducedOrderEigenstrain::computeProperties | ( | ) |
Definition at line 61 of file ComputeReducedOrderEigenstrain.C.
|
virtual |
Compute the eigenstrain and store in _eigenstrain.
Implements ComputeEigenstrainBase.
Definition at line 71 of file ComputeReducedOrderEigenstrain.C.
|
protectedvirtualinherited |
Definition at line 49 of file ComputeEigenstrainBase.C.
|
protectedinherited |
Helper function for models that compute the eigenstrain based on a volumetric strain.
This function computes the diagonal components of the eigenstrain tensor as logarithmic strains.
volumetric_strain | The current volumetric strain to be applied |
Definition at line 62 of file ComputeEigenstrainBase.C.
|
virtual |
Reimplemented from ComputeEigenstrainBase.
Definition at line 55 of file ComputeReducedOrderEigenstrain.C.
|
private |
Compute either the volume average or linear eigenstrain field in an element.
Definition at line 99 of file ComputeReducedOrderEigenstrain.C.
Referenced by computeProperties().
|
private |
Add contributions from every eigenstrain at each integration point.
Definition at line 87 of file ComputeReducedOrderEigenstrain.C.
Referenced by computeProperties().
|
static |
Definition at line 20 of file ComputeReducedOrderEigenstrain.C.
|
private |
The (num q points x ncols) array for the least squares. Holds 1, xcoor, ycoor, zcoor.
Definition at line 60 of file ComputeReducedOrderEigenstrain.h.
Referenced by prepareEigenstrain().
|
private |
Filled with _vals and subracted from strain.
Definition at line 72 of file ComputeReducedOrderEigenstrain.h.
Referenced by computeQpEigenstrain(), and prepareEigenstrain().
|
private |
Transpose of A.
Definition at line 64 of file ComputeReducedOrderEigenstrain.h.
Referenced by prepareEigenstrain().
|
private |
Transpose of A times b.
Definition at line 66 of file ComputeReducedOrderEigenstrain.h.
Referenced by prepareEigenstrain().
|
private |
The b array holding the unique eigenstrain components for each integration point.
Definition at line 62 of file ComputeReducedOrderEigenstrain.h.
Referenced by prepareEigenstrain().
|
protectedinherited |
Base name prepended to material property name.
Definition at line 41 of file ComputeEigenstrainBase.h.
Referenced by ComputeReducedOrderEigenstrain().
|
protectedinherited |
Stores the current total eigenstrain.
Definition at line 47 of file ComputeEigenstrainBase.h.
Referenced by ComputeEigenstrain::computeQpEigenstrain(), ComputeEigenstrainFromInitialStress::computeQpEigenstrain(), ComputeVariableBaseEigenStrain::computeQpEigenstrain(), computeQpEigenstrain(), ComputeEigenstrainBase::initQpStatefulProperties(), and initQpStatefulProperties().
|
protectedinherited |
Material property name for the eigenstrain tensor.
Definition at line 44 of file ComputeEigenstrainBase.h.
|
private |
Definition at line 50 of file ComputeReducedOrderEigenstrain.h.
Referenced by ComputeReducedOrderEigenstrain(), and sumEigenstrain().
|
private |
The sum of all eigenstrains at each integration point.
Definition at line 58 of file ComputeReducedOrderEigenstrain.h.
Referenced by prepareEigenstrain(), and sumEigenstrain().
|
private |
Definition at line 49 of file ComputeReducedOrderEigenstrain.h.
Referenced by ComputeReducedOrderEigenstrain().
|
private |
Number of columns in A matrix (1 plus mesh dimension)
Definition at line 54 of file ComputeReducedOrderEigenstrain.h.
Referenced by computeQpEigenstrain(), and prepareEigenstrain().
|
private |
Whether the mesh is made of second order elements.
Definition at line 56 of file ComputeReducedOrderEigenstrain.h.
Referenced by computeQpEigenstrain(), and prepareEigenstrain().
|
protectedinherited |
Restartable data to check for the zeroth and first time steps for thermal calculations.
Definition at line 60 of file ComputeEigenstrainBase.h.
Referenced by ComputeEigenstrainBase::computeQpProperties().
|
private |
Definition at line 52 of file ComputeReducedOrderEigenstrain.h.
|
private |
Vector to hold the adjusted strain as computed with _x.
Definition at line 70 of file ComputeReducedOrderEigenstrain.h.
Referenced by computeQpEigenstrain().
|
private |
The solution vector for each unique component of the adjusted eigenstrain.
Definition at line 68 of file ComputeReducedOrderEigenstrain.h.
Referenced by computeQpEigenstrain(), and prepareEigenstrain().