https://mooseframework.inl.gov
ProjectedStatefulMaterialAux.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 "AuxKernel.h"
13 
14 #include <unordered_map>
15 
16 class MaterialBase;
17 
18 template <typename T, bool is_ad>
20 {
21 public:
23 
25 
26  virtual void initialSetup() override;
27 
28 protected:
29  virtual Real computeValue() override;
30 
33 
35  std::unordered_map<SubdomainID, std::vector<MaterialBase *>> _required_materials;
36 
39 
41  const unsigned int _component;
42 };
43 
58 
59 // Prevent implicit instantiation in other translation units where these classes are used
virtual void initialSetup() override
Gets called at the beginning of the simulation before this object is asked to do its job...
ProjectedStatefulMaterialAuxTempl< RankFourTensor, false > ProjectedStatefulMaterialRankFourTensorAux
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
ProjectedStatefulMaterialAuxTempl(const InputParameters &parameters)
virtual Real computeValue() override
Compute and return the value of the aux variable.
ProjectedStatefulMaterialAuxTempl< Real, false > ProjectedStatefulMaterialRealAux
const GenericMaterialProperty< T, is_ad > & _prop
The property a component of which is being projected.
ProjectedStatefulMaterialAuxTempl< RankTwoTensor, true > ADProjectedStatefulMaterialRankTwoTensorAux
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
std::unordered_map< SubdomainID, std::vector< MaterialBase * > > _required_materials
A sorted list of all material objects the processed property depends on on each subdomain.
ProjectedStatefulMaterialAuxTempl< Real, true > ADProjectedStatefulMaterialRealAux
const unsigned int _component
Property component (index into a serialized representation of the property)
ProjectedStatefulMaterialAuxTempl< RealVectorValue, false > ProjectedStatefulMaterialRealVectorValueAux
ProjectedStatefulMaterialAuxTempl< RankTwoTensor, false > ProjectedStatefulMaterialRankTwoTensorAux
ProjectedStatefulMaterialAuxTempl< RankFourTensor, true > ADProjectedStatefulMaterialRankFourTensorAux
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const SubdomainID & _current_subdomain_id
ID of the subdomain currently being iterated over.
const InputParameters & parameters() const
Get the parameters of the object.
Base class for creating new auxiliary kernels and auxiliary boundary conditions.
Definition: AuxKernel.h:36
ProjectedStatefulMaterialAuxTempl< RealVectorValue, true > ADProjectedStatefulMaterialRealVectorValueAux
MaterialBases compute MaterialProperties.
Definition: MaterialBase.h:62