https://mooseframework.inl.gov
NEML2ToMOOSEMaterialProperty.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 "NEML2Utils.h"
13 #include "Material.h"
14 #include "SymmetricRankTwoTensor.h"
16 
17 #ifdef NEML2_ENABLED
18 #include "neml2/tensors/TensorBase.h"
19 #endif
20 
21 class NEML2ModelExecutor;
22 
23 template <typename T>
25 {
26 public:
28 
30 
31 #ifdef NEML2_ENABLED
32  void computeProperties() override;
33 
34 protected:
35  void initQpStatefulProperties() override {}
36 
39 
42 
45 
47  const neml2::Tensor & _value;
48 #endif
49 };
50 
51 #define DefineNEML2ToMOOSEMaterialPropertyAlias(T, alias) \
52  using NEML2ToMOOSE##alias##MaterialProperty = NEML2ToMOOSEMaterialProperty<T>
53 
RankFourTensorTempl is designed to handle any N-dimensional fourth order tensor, C.
void computeProperties() override
Performs the quadrature point loop, calling computeQpProperties.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
NEML2ToMOOSEMaterialProperty(const InputParameters &params)
const NEML2ModelExecutor & _execute_neml2_model
User object managing the execution of the NEML2 model.
SymmetricRankTwoTensorTempl is designed to handle the Stress or Strain Tensor for an anisotropic mate...
Materials compute MaterialProperties.
Definition: Material.h:34
MaterialProperty< T > & _prop
Emitted material property.
NEML2ModelExecutor executes a NEML2 model.
RankTwoTensorTempl is designed to handle the Stress or Strain Tensor for a fully anisotropic material...
Definition: RankTwoTensor.h:87
SymmetricRankFourTensorTempl is designed to handle an N-dimensional fourth order tensor with minor sy...
void initQpStatefulProperties() override
Initialize stateful properties at quadrature points.
const MaterialProperty< T > * _prop0
Initial condition.
DefineNEML2ToMOOSEMaterialPropertyAlias(Real, Real)
const neml2::Tensor & _value
Reference to the requested output (or its derivative) value.