www.mooseframework.org
GBRelaxationStrainIncrement.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
11 #include "libmesh/quadrature.h"
12 
14 
16 
17 InputParameters
19 {
20  InputParameters params = Material::validParams();
21  params.addClassDescription("Compute strain increment based on lattice relaxation at GB");
22  params.addParam<MaterialPropertyName>("prefactor_name", "Name of prefactor property");
23  params.addParam<MaterialPropertyName>("gb_normal_name", "Name of GB normal property");
24  params.addParam<MaterialPropertyName>("property_name",
25  "Name of GB relaxation strain increment property");
26  return params;
27 }
28 
30  : DerivativeMaterialInterface<Material>(parameters),
31  _prefactor(getMaterialProperty<Real>("prefactor_name")),
32  _gb_normal_tensor(getMaterialProperty<RankTwoTensor>("gb_normal_name")),
33  _strain_increment(
34  declareProperty<RankTwoTensor>(getParam<MaterialPropertyName>("property_name")))
35 {
36 }
37 
38 void
40 {
41  _strain_increment[_qp].zero();
42 }
43 
44 void
46 {
47  _strain_increment[_qp] = _prefactor[_qp] * _dt * _gb_normal_tensor[_qp];
48 }
GBRelaxationStrainIncrement
GBRelaxationStrainIncrement computes strain increment due to lattice relaxation at GB Forest et.
Definition: GBRelaxationStrainIncrement.h:25
GBRelaxationStrainIncrement::validParams
static InputParameters validParams()
Definition: GBRelaxationStrainIncrement.C:18
GBRelaxationStrainIncrement::_prefactor
const MaterialProperty< Real > & _prefactor
Definition: GBRelaxationStrainIncrement.h:36
registerMooseObject
registerMooseObject("TensorMechanicsApp", GBRelaxationStrainIncrement)
defineLegacyParams
defineLegacyParams(GBRelaxationStrainIncrement)
GBRelaxationStrainIncrement::computeQpProperties
virtual void computeQpProperties()
Definition: GBRelaxationStrainIncrement.C:45
GBRelaxationStrainIncrement::initQpStatefulProperties
virtual void initQpStatefulProperties()
Definition: GBRelaxationStrainIncrement.C:39
GBRelaxationStrainIncrement.h
GBRelaxationStrainIncrement::GBRelaxationStrainIncrement
GBRelaxationStrainIncrement(const InputParameters &parameters)
Definition: GBRelaxationStrainIncrement.C:29
validParams
InputParameters validParams()
GBRelaxationStrainIncrement::_strain_increment
MaterialProperty< RankTwoTensor > & _strain_increment
Definition: GBRelaxationStrainIncrement.h:38
GBRelaxationStrainIncrement::_gb_normal_tensor
const MaterialProperty< RankTwoTensor > & _gb_normal_tensor
Definition: GBRelaxationStrainIncrement.h:37
RankTwoTensorTempl< Real >