www.mooseframework.org
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
FluxBasedStrainIncrement Class Reference

FluxBasedStrainIncrement computes strain increment based on flux (vacancy) Forest et. More...

#include <FluxBasedStrainIncrement.h>

Inheritance diagram for FluxBasedStrainIncrement:
[legend]

Public Member Functions

 FluxBasedStrainIncrement (const InputParameters &parameters)
 

Protected Member Functions

virtual void initQpStatefulProperties ()
 
virtual void computeQpProperties ()
 
virtual void computeFluxGradTensor ()
 

Protected Attributes

const VariableGradient * _grad_jx
 
bool _has_yflux
 
bool _has_zflux
 
const VariableGradient * _grad_jy
 
const VariableGradient * _grad_jz
 
const VariableValue & _gb
 
MaterialProperty< RankTwoTensor > & _strain_increment
 
RankTwoTensor _flux_grad_tensor
 

Detailed Description

FluxBasedStrainIncrement computes strain increment based on flux (vacancy) Forest et.

al. MSMSE 2015

Definition at line 20 of file FluxBasedStrainIncrement.h.

Constructor & Destructor Documentation

FluxBasedStrainIncrement::FluxBasedStrainIncrement ( const InputParameters &  parameters)

Definition at line 25 of file FluxBasedStrainIncrement.C.

26  : DerivativeMaterialInterface<Material>(parameters),
27  _grad_jx(&coupledGradient("xflux")),
28  _has_yflux(isCoupled("yflux")),
29  _has_zflux(isCoupled("zflux")),
30  _grad_jy(_has_yflux ? &coupledGradient("yflux") : NULL),
31  _grad_jz(_has_zflux ? &coupledGradient("zflux") : NULL),
32  _gb(isCoupled("gb") ? coupledValue("gb") : _zero),
34  declareProperty<RankTwoTensor>(getParam<MaterialPropertyName>("property_name")))
35 {
36 }
const VariableGradient * _grad_jx
const VariableGradient * _grad_jz
MaterialProperty< RankTwoTensor > & _strain_increment
const VariableGradient * _grad_jy

Member Function Documentation

void FluxBasedStrainIncrement::computeFluxGradTensor ( )
protectedvirtual

Definition at line 54 of file FluxBasedStrainIncrement.C.

Referenced by computeQpProperties().

55 {
56  _flux_grad_tensor.zero();
57 
58  _flux_grad_tensor.fillRow(0, (*_grad_jx)[_qp]);
59 
60  if (_has_yflux)
61  _flux_grad_tensor.fillRow(1, (*_grad_jy)[_qp]);
62 
63  if (_has_zflux)
64  _flux_grad_tensor.fillRow(2, (*_grad_jz)[_qp]);
65 }
const VariableGradient * _grad_jx
const VariableGradient * _grad_jz
const VariableGradient * _grad_jy
void FluxBasedStrainIncrement::computeQpProperties ( )
protectedvirtual

Definition at line 45 of file FluxBasedStrainIncrement.C.

46 {
48 
49  _strain_increment[_qp] = -0.5 * (_flux_grad_tensor + _flux_grad_tensor.transpose());
50  _strain_increment[_qp] *= (1.0 - _gb[_qp]) * _dt;
51 }
MaterialProperty< RankTwoTensor > & _strain_increment
void FluxBasedStrainIncrement::initQpStatefulProperties ( )
protectedvirtual

Definition at line 39 of file FluxBasedStrainIncrement.C.

40 {
41  _strain_increment[_qp].zero();
42 }
MaterialProperty< RankTwoTensor > & _strain_increment

Member Data Documentation

RankTwoTensor FluxBasedStrainIncrement::_flux_grad_tensor
protected

Definition at line 41 of file FluxBasedStrainIncrement.h.

Referenced by computeFluxGradTensor(), and computeQpProperties().

const VariableValue& FluxBasedStrainIncrement::_gb
protected

Definition at line 37 of file FluxBasedStrainIncrement.h.

Referenced by computeQpProperties().

const VariableGradient* FluxBasedStrainIncrement::_grad_jx
protected

Definition at line 31 of file FluxBasedStrainIncrement.h.

Referenced by computeFluxGradTensor().

const VariableGradient* FluxBasedStrainIncrement::_grad_jy
protected

Definition at line 34 of file FluxBasedStrainIncrement.h.

Referenced by computeFluxGradTensor().

const VariableGradient* FluxBasedStrainIncrement::_grad_jz
protected

Definition at line 35 of file FluxBasedStrainIncrement.h.

Referenced by computeFluxGradTensor().

bool FluxBasedStrainIncrement::_has_yflux
protected

Definition at line 32 of file FluxBasedStrainIncrement.h.

Referenced by computeFluxGradTensor().

bool FluxBasedStrainIncrement::_has_zflux
protected

Definition at line 33 of file FluxBasedStrainIncrement.h.

Referenced by computeFluxGradTensor().

MaterialProperty<RankTwoTensor>& FluxBasedStrainIncrement::_strain_increment
protected

Definition at line 39 of file FluxBasedStrainIncrement.h.

Referenced by computeQpProperties(), and initQpStatefulProperties().


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