www.mooseframework.org
ScalarMaterialDamage.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 
10 #include "ScalarMaterialDamage.h"
11 
12 registerMooseObject("TensorMechanicsApp", ScalarMaterialDamage);
13 
15 
16 InputParameters
18 {
19  InputParameters params = ScalarDamageBase::validParams();
20  params.addClassDescription(
21  "Scalar damage model for which the damage is prescribed by another material");
22  params.addRequiredParam<MaterialPropertyName>("damage_index",
23  "Name of the material property containing the "
24  "damage index, which goes from 0 (undamaged) to 1 "
25  "(fully damaged)");
26  return params;
27 }
28 
29 ScalarMaterialDamage::ScalarMaterialDamage(const InputParameters & parameters)
30  : ScalarDamageBase(parameters),
31  _damage_property(
32  getMaterialPropertyByName<Real>(getParam<MaterialPropertyName>("damage_index")))
33 {
34 }
35 
36 void
38 {
39  _damage_index[_qp] = _damage_property[_qp];
40 
41  if (MooseUtils::absoluteFuzzyLessThan(_damage_index[_qp], 0.0) ||
42  MooseUtils::absoluteFuzzyGreaterThan(_damage_index[_qp], 1.0))
43  mooseError(_base_name + "damage_index ",
44  "must be between 0 and 1. Current value is: ",
45  _damage_index[_qp]);
46 }
ScalarDamageBase::validParams
static InputParameters validParams()
Definition: ScalarDamageBase.C:16
ScalarDamageBase
Base class for scalar damage models.
Definition: ScalarDamageBase.h:23
ScalarMaterialDamage::_damage_property
const MaterialProperty< Real > & _damage_property
Material property that provides the damage index.
Definition: ScalarMaterialDamage.h:34
DamageBase::_base_name
const std::string _base_name
Base name optionally used as prefix to material tensor names.
Definition: DamageBase.h:77
defineLegacyParams
defineLegacyParams(ScalarMaterialDamage)
ScalarMaterialDamage::ScalarMaterialDamage
ScalarMaterialDamage(const InputParameters &parameters)
Definition: ScalarMaterialDamage.C:29
ScalarMaterialDamage::validParams
static InputParameters validParams()
Definition: ScalarMaterialDamage.C:17
ScalarMaterialDamage::updateQpDamageIndex
virtual void updateQpDamageIndex() override
Update the damage index at the current qpoint.
Definition: ScalarMaterialDamage.C:37
ScalarDamageBase::_damage_index
MaterialProperty< Real > & _damage_index
Material property that provides the damage index.
Definition: ScalarDamageBase.h:54
registerMooseObject
registerMooseObject("TensorMechanicsApp", ScalarMaterialDamage)
ScalarMaterialDamage
Scalar damage model for which the damage is prescribed by another material.
Definition: ScalarMaterialDamage.h:23
ScalarMaterialDamage.h