https://mooseframework.inl.gov
Loading...
Searching...
No Matches
TorchCentralDifference.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 MOOSE_LIBTORCH_ENABLED
13
14#include "ExplicitMixedOrder.h"
15#include "TorchAssembly.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
39
40private:
42 std::vector<const Elem *> _boundary_elems = {};
43
45 std::vector<const Node *> _no_node = {};
46
49};
50
51#endif // MOOSE_LIBTORCH_ENABLED
Implements a form of the central difference time integrator that calculates acceleration directly fro...
const InputParameters & parameters() const
TorchAssembly * _assembly
The assembly object with cached assembly information.
void evaluateRHSResidual() override
Evaluate the RHS residual.
TorchFEInterpolation * _fe
The FE interface for getting variable values/gradients interpolated onto the finite element space.
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.