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 26 of file FluxBasedStrainIncrement.h.

Constructor & Destructor Documentation

◆ FluxBasedStrainIncrement()

FluxBasedStrainIncrement::FluxBasedStrainIncrement ( const InputParameters &  parameters)

Definition at line 30 of file FluxBasedStrainIncrement.C.

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

Member Function Documentation

◆ computeFluxGradTensor()

void FluxBasedStrainIncrement::computeFluxGradTensor ( )
protectedvirtual

Definition at line 59 of file FluxBasedStrainIncrement.C.

Referenced by computeQpProperties().

60 {
61  _flux_grad_tensor.zero();
62 
63  _flux_grad_tensor.fillRow(0, (*_grad_jx)[_qp]);
64 
65  if (_has_yflux)
66  _flux_grad_tensor.fillRow(1, (*_grad_jy)[_qp]);
67 
68  if (_has_zflux)
69  _flux_grad_tensor.fillRow(2, (*_grad_jz)[_qp]);
70 }
const VariableGradient * _grad_jx
const VariableGradient * _grad_jz
const VariableGradient * _grad_jy

◆ computeQpProperties()

void FluxBasedStrainIncrement::computeQpProperties ( )
protectedvirtual

Definition at line 50 of file FluxBasedStrainIncrement.C.

51 {
53 
54  _strain_increment[_qp] = -0.5 * (_flux_grad_tensor + _flux_grad_tensor.transpose());
55  _strain_increment[_qp] *= (1.0 - _gb[_qp]) * _dt;
56 }
MaterialProperty< RankTwoTensor > & _strain_increment

◆ initQpStatefulProperties()

void FluxBasedStrainIncrement::initQpStatefulProperties ( )
protectedvirtual

Definition at line 44 of file FluxBasedStrainIncrement.C.

45 {
46  _strain_increment[_qp].zero();
47 }
MaterialProperty< RankTwoTensor > & _strain_increment

Member Data Documentation

◆ _flux_grad_tensor

RankTwoTensor FluxBasedStrainIncrement::_flux_grad_tensor
protected

Definition at line 47 of file FluxBasedStrainIncrement.h.

Referenced by computeFluxGradTensor(), and computeQpProperties().

◆ _gb

const VariableValue& FluxBasedStrainIncrement::_gb
protected

Definition at line 43 of file FluxBasedStrainIncrement.h.

Referenced by computeQpProperties().

◆ _grad_jx

const VariableGradient* FluxBasedStrainIncrement::_grad_jx
protected

Definition at line 37 of file FluxBasedStrainIncrement.h.

Referenced by computeFluxGradTensor().

◆ _grad_jy

const VariableGradient* FluxBasedStrainIncrement::_grad_jy
protected

Definition at line 40 of file FluxBasedStrainIncrement.h.

Referenced by computeFluxGradTensor().

◆ _grad_jz

const VariableGradient* FluxBasedStrainIncrement::_grad_jz
protected

Definition at line 41 of file FluxBasedStrainIncrement.h.

Referenced by computeFluxGradTensor().

◆ _has_yflux

bool FluxBasedStrainIncrement::_has_yflux
protected

Definition at line 38 of file FluxBasedStrainIncrement.h.

Referenced by computeFluxGradTensor().

◆ _has_zflux

bool FluxBasedStrainIncrement::_has_zflux
protected

Definition at line 39 of file FluxBasedStrainIncrement.h.

Referenced by computeFluxGradTensor().

◆ _strain_increment

MaterialProperty<RankTwoTensor>& FluxBasedStrainIncrement::_strain_increment
protected

Definition at line 45 of file FluxBasedStrainIncrement.h.

Referenced by computeQpProperties(), and initQpStatefulProperties().


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