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