https://mooseframework.inl.gov
Loading...
Searching...
No Matches
NonlocalDamage.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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#pragma once
11
12#include "MooseTypes.h"
13#include "ScalarDamageBase.h"
14#include "GuaranteeConsumer.h"
15#include "RadialAverage.h"
16
20template <bool is_ad>
22{
23public:
25
27
28 virtual void initialSetup() override;
29
30 virtual void initQpStatefulProperties() override;
31
32protected:
33 virtual void updateQpDamageIndex() override;
34
35 // Averaged Material
36 // std::string _avg_material_name;
37 const RadialAverage::Result & _average;
38 RadialAverage::Result::const_iterator _average_damage;
39
44
45 // Pointer to last element for comparison for speed
46 const Elem * _prev_elem;
47
53 using ScalarDamageBaseTempl<is_ad>::_qp;
55 using ScalarDamageBaseTempl<is_ad>::_dt;
59 using ScalarDamageBaseTempl<is_ad>::_JxW;
62};
63
NonlocalDamageTempl< false > NonlocalDamage
NonlocalDamageTempl< true > ADNonlocalDamage
const std::string _base_name
Base name optionally used as prefix to material tensor names.
Definition DamageBase.h:74
Add-on class that provides the functionality to check if guarantees for material properties are provi...
const MooseArray< Real > & _coord
unsigned int _qp
const Elem *const & _current_elem
const MooseArray< Real > & _JxW
const InputParameters & parameters() const
Scalar damage model that defines the damage parameter using a material property.
RadialAverage::Result::const_iterator _average_damage
static InputParameters validParams()
const RadialAverage::Result & _average
MaterialName _local_damage_model_name
Local damage model needed for updating.
ScalarDamageBaseTempl< is_ad > * _local_damage_model
virtual void initQpStatefulProperties() override
virtual void updateQpDamageIndex() override
Update the damage index at the current qpoint.
const Elem * _prev_elem
virtual void initialSetup() override
Base class for scalar damage models.
const bool _use_old_damage
If true, use the damage index from the old state (rather than the current state)
const MaterialPropertyName _damage_index_name
Name of the material property where the damage index is stored.
GenericMaterialProperty< Real, is_ad > & _damage_index
Material property that provides the damage index.
const Real & _maximum_damage_increment
Maximum damage increment allowed for the time step.
const MaterialProperty< Real > & _damage_index_older
const MaterialProperty< Real > & _damage_index_old
Real & _dt