https://mooseframework.inl.gov
MOOSEMaterialPropertyToNEML2.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 "MOOSEToNEML2Batched.h"
13 
14 #include "RankTwoTensor.h"
15 #include "SymmetricRankTwoTensor.h"
16 
20 template <typename T, unsigned int state>
22 {
23 public:
25 
27 
28 #ifdef NEML2_ENABLED
29 protected:
30  const MooseArray<T> & elemMOOSEData() const override { return _mat_prop.get(); }
31 
34 #endif
35 };
36 
37 #define DefineMOOSEMaterialPropertyToNEML2Alias(T, alias) \
38  using MOOSE##alias##MaterialPropertyToNEML2 = MOOSEMaterialPropertyToNEML2<T, 0>; \
39  using MOOSEOld##alias##MaterialPropertyToNEML2 = MOOSEMaterialPropertyToNEML2<T, 1>
40 
Gather a MOOSE material property for insertion into the NEML2 model.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Generic gatherer for collecting "batched" MOOSE data for NEML2.
MOOSEMaterialPropertyToNEML2(const InputParameters &params)
SymmetricRankTwoTensorTempl is designed to handle the Stress or Strain Tensor for an anisotropic mate...
forward declarations
const MooseArray< T > & elemMOOSEData() const override
MOOSE data for the current element.
RankTwoTensorTempl is designed to handle the Stress or Strain Tensor for a fully anisotropic material...
Definition: RankTwoTensor.h:87
const MaterialProperty< T > & _mat_prop
MOOSE material property to read data from.
DefineMOOSEMaterialPropertyToNEML2Alias(Real, Real)