https://mooseframework.inl.gov
DerivativeSumMaterial.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 
13 
14 template <bool is_ad>
16 {
17 public:
19 
21 
22  virtual void initialSetup();
23 
24 protected:
26 
27  virtual void computeProperties();
28 
29  std::vector<std::string> _sum_materials;
30  unsigned int _num_materials;
31 
33  std::vector<Real> _prefactor;
35 
37  const bool _validate_coupling;
38 
40  std::vector<const GenericMaterialProperty<Real, is_ad> *> _summand_F;
41 
43  std::vector<std::vector<const GenericMaterialProperty<Real, is_ad> *>> _summand_dF;
44 
46  std::vector<std::vector<std::vector<const GenericMaterialProperty<Real, is_ad> *>>> _summand_d2F;
47 
49  std::vector<std::vector<std::vector<std::vector<const GenericMaterialProperty<Real, is_ad> *>>>>
51 };
52 
DerivativeSumMaterialTempl(const InputParameters &parameters)
DerivativeSumMaterialTempl< true > ADDerivativeSumMaterial
std::vector< std::string > _sum_materials
usingDerivativeFunctionMaterialBaseMembers(is_ad)
std::vector< std::vector< std::vector< const GenericMaterialProperty< Real, is_ad > * > > > _summand_d2F
Second derivatives of the summands.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
std::vector< std::vector< std::vector< std::vector< const GenericMaterialProperty< Real, is_ad > * > > > > _summand_d3F
Third derivatives of the summands.
DerivativeSumMaterialTempl< false > DerivativeSumMaterial
std::vector< Real > _prefactor
arguments to construct a sum of the form
virtual void initialSetup()
Check if we got the right number of components in the &#39;coupled_variables&#39; vector. ...
const bool _validate_coupling
Flag to optionally turn on or off validateCoupling.
std::vector< std::vector< const GenericMaterialProperty< Real, is_ad > * > > _summand_dF
Derivatives of the summands with respect to arg[i].
virtual void computeProperties()
Performs the quadrature point loop, calling computeQpProperties.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const InputParameters & parameters() const
Get the parameters of the object.
Material base class to compute a function and its derivatives.
std::vector< const GenericMaterialProperty< Real, is_ad > * > _summand_F
Function values of the summands.
static InputParameters validParams()