https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
16class MaterialBase;
17
18template <typename T, bool is_ad>
20{
21public:
23
25
26 virtual void initialSetup() override;
27
28protected:
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
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
ProjectedStatefulMaterialAuxTempl< Real, true > ADProjectedStatefulMaterialRealAux
ProjectedStatefulMaterialAuxTempl< RankFourTensor, false > ProjectedStatefulMaterialRankFourTensorAux
ProjectedStatefulMaterialAuxTempl< Real, false > ProjectedStatefulMaterialRealAux
ProjectedStatefulMaterialAuxTempl< RankTwoTensor, true > ADProjectedStatefulMaterialRankTwoTensorAux
ProjectedStatefulMaterialAuxTempl< RankFourTensor, true > ADProjectedStatefulMaterialRankFourTensorAux
ProjectedStatefulMaterialAuxTempl< RankTwoTensor, false > ProjectedStatefulMaterialRankTwoTensorAux
ProjectedStatefulMaterialAuxTempl< RealVectorValue, false > ProjectedStatefulMaterialRealVectorValueAux
ProjectedStatefulMaterialAuxTempl< RealVectorValue, true > ADProjectedStatefulMaterialRealVectorValueAux
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
MaterialBases compute MaterialProperties.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
const unsigned int _component
Property component (index into a serialized representation of the property)
virtual Real computeValue() override
Compute and return the value of the aux variable.
std::unordered_map< SubdomainID, std::vector< MaterialBase * > > _required_materials
A sorted list of all material objects the processed property depends on on each subdomain.
virtual void initialSetup() override
Gets called at the beginning of the simulation before this object is asked to do its job.
const GenericMaterialProperty< T, is_ad > & _prop
The property a component of which is being projected.
const SubdomainID & _current_subdomain_id
ID of the subdomain currently being iterated over.