https://mooseframework.inl.gov
Loading...
Searching...
No Matches
NEML2Kernel.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#ifdef NEML2_ENABLED
13
14// MOOSE includes
15#include "GeneralUserObject.h"
16#include "NEML2Assembly.h"
18
34{
35public:
37
39
40 void initialize() override {}
41 void execute() override;
42 void finalize() override {}
43
44protected:
46 virtual void forward() = 0;
47
50
53
55 neml2::Tensor _output;
56};
57
58#endif
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
This user object caches assembly information from MOOSE.
This user object serves as the "interface" for interpolating MOOSE variable values and gradients from...
NEML2Kernel is a conceptual extension of MOOSE kernel that operates on NEML2 tensors.
Definition NEML2Kernel.h:34
static InputParameters validParams()
Definition NEML2Kernel.C:16
NEML2FEInterpolation & _fe
The FEM interface for getting variable values/gradients interpolated onto the finite element space.
Definition NEML2Kernel.h:52
neml2::Tensor _output
The output of the forward operator.
Definition NEML2Kernel.h:55
void initialize() override
Called before execute() is ever called so that data can be cleared.
Definition NEML2Kernel.h:40
virtual void forward()=0
The forward operator of this kernel.
void finalize() override
Finalize.
Definition NEML2Kernel.h:42
void execute() override
Execute method.
Definition NEML2Kernel.C:36
NEML2Assembly & _neml2_assembly
The assembly object with cached assembly information.
Definition NEML2Kernel.h:49