https://mooseframework.inl.gov
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 
20 template <bool is_ad>
22 {
23 public:
25 
27 
28  virtual void initialSetup() override;
29 
30  virtual void initQpStatefulProperties() override;
31 
32 protected:
33  virtual void updateQpDamageIndex() override;
34 
35  // Averaged Material
36  // std::string _avg_material_name;
38  RadialAverage::Result::const_iterator _average_damage;
39 
44 
45  // Pointer to last element for comparison for speed
46  const Elem * _prev_elem;
47 
62 };
63 
const RadialAverage::Result & _average
virtual void initQpStatefulProperties() override
std::map< dof_id_type, std::vector< Real > > Result
virtual void updateQpDamageIndex() override
Update the damage index at the current qpoint.
ScalarDamageBaseTempl< is_ad > * _local_damage_model
MaterialName _local_damage_model_name
{@ Local damage model needed for updating
NonlocalDamageTempl< true > ADNonlocalDamage
Scalar damage model that defines the damage parameter using a material property.
virtual void initialSetup() override
const Elem * _prev_elem
NonlocalDamageTempl< false > NonlocalDamage
const InputParameters & parameters() const
Add-on class that provides the functionality to check if guarantees for material properties are provi...
static InputParameters validParams()
NonlocalDamageTempl(const InputParameters &parameters)
Base class for scalar damage models.
RadialAverage::Result::const_iterator _average_damage