https://mooseframework.inl.gov
Loading...
Searching...
No Matches
NEML2CentralDifference.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#ifdef NEML2_ENABLED
11
12#pragma once
13
14#include "ExplicitMixedOrder.h"
15#include "NEML2Assembly.h"
17
19{
20public:
22
24
25 void initialSetup() override;
26 void meshChanged() override;
27 void postSolve() override;
28
29protected:
30 void evaluateRHSResidual() override;
32
35
38
39private:
41 std::vector<const Elem *> _boundary_elems = {};
42
44 std::vector<const Node *> _no_node = {};
45
48};
49
50#endif // NEML2_ENABLED
Implements a form of the central difference time integrator that calculates acceleration directly fro...
const InputParameters & parameters() const
NEML2Assembly * _neml2_assembly
The assembly object with cached assembly information.
NEML2FEInterpolation * _fe
The FE interface for getting variable values/gradients interpolated onto the finite element space.
void evaluateRHSResidual() override
Evaluate the RHS residual.
static InputParameters validParams()
std::vector< const Node * > _no_node
Empty node vector to help zero out the algebraic range.
bool _boundary_elems_dirty
Whether the cached boundary element list needs rebuilding.
std::vector< const Elem * > _boundary_elems
Empty element vector to help zero out the algebraic range.