www.mooseframework.org
CombinedScalarDamage.h
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 #pragma once
11 
12 #include "ScalarDamageBase.h"
16 template <bool is_ad>
18 {
19 public:
21 
23 
24  void initialSetup() override;
25 
26 protected:
27  virtual void updateQpDamageIndex() override;
28 
29  enum class CombinationType
30  {
31  Maximum,
32  Product
33  };
34 
37 
38  std::vector<MaterialName> _damage_models_names;
39 
40  std::vector<ScalarDamageBaseTempl<is_ad> *> _damage_models;
41 
45 };
46 
Scalar damage model computed as the combination of multiple damage models.
CombinedScalarDamageTempl(const InputParameters &parameters)
static InputParameters validParams()
CombinedScalarDamageTempl< false > CombinedScalarDamage
std::vector< ScalarDamageBaseTempl< is_ad > * > _damage_models
const CombinationType _combination_type
Type of expansion.
std::vector< MaterialName > _damage_models_names
CombinedScalarDamageTempl< true > ADCombinedScalarDamage
const InputParameters & parameters() const
virtual void updateQpDamageIndex() override
Update the damage index at the current qpoint.
Base class for scalar damage models.