https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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"
16
17#ifdef NEML2_ENABLED
18#include "neml2/tensors/TensorBase.h"
19#endif
20
22
23template <typename T>
25{
26public:
28
30
31#ifdef NEML2_ENABLED
32 void computeProperties() override;
33
34protected:
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
57DefineNEML2ToMOOSEMaterialPropertyAlias(RealVectorValue, RealVectorValue);
DefineNEML2ToMOOSEMaterialPropertyAlias(Real, Real)
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
Materials compute MaterialProperties.
Definition Material.h:36
NEML2ModelExecutor executes a NEML2 model.
const MaterialProperty< T > * _prop0
Initial condition.
void initQpStatefulProperties() override
Initialize stateful properties at quadrature points.
const neml2::Tensor & _value
Reference to the requested output (or its derivative) value.
void computeProperties() override
Performs the quadrature point loop, calling computeQpProperties.
const NEML2ModelExecutor & _execute_neml2_model
User object managing the execution of the NEML2 model.
MaterialProperty< T > & _prop
Emitted material property.
RankFourTensorTempl is designed to handle any N-dimensional fourth order tensor, C.
SymmetricRankFourTensorTempl is designed to handle an N-dimensional fourth order tensor with minor sy...