11#include "libmesh/quadrature.h"
21 params.
addCoupledVar(
"yflux",
"y or 1-direction component of flux");
22 params.
addCoupledVar(
"zflux",
"z or 2-direction component of flux");
25 "Name of diffusive strain increment property");
31 _grad_jx(&coupledGradient(
"xflux")),
32 _has_yflux(isCoupled(
"yflux")),
33 _has_zflux(isCoupled(
"zflux")),
34 _grad_jy(_has_yflux ? &coupledGradient(
"yflux") : nullptr),
35 _grad_jz(_has_zflux ? &coupledGradient(
"zflux") : nullptr),
36 _gb(isCoupled(
"gb") ? coupledValue(
"gb") : _zero),
38 declareProperty<
RankTwoTensor>(getParam<MaterialPropertyName>(
"property_name")))
registerMooseObject("SolidMechanicsApp", FluxBasedStrainIncrement)
FluxBasedStrainIncrement computes strain increment based on flux (vacancy) Forest et.
static InputParameters validParams()
FluxBasedStrainIncrement(const InputParameters ¶meters)
MaterialProperty< RankTwoTensor > & _strain_increment
const VariableGradient *const _grad_jy
const VariableGradient *const _grad_jz
virtual void initQpStatefulProperties()
RankTwoTensor _flux_grad_tensor
const VariableValue & _gb
const VariableGradient *const _grad_jx
virtual void computeQpProperties()
virtual void computeFluxGradTensor()
static InputParameters validParams()
void fillRow(unsigned int r, const libMesh::TypeVector< T > &v)
RankTwoTensorTempl< T > transpose() const