https://mooseframework.inl.gov
MFEMExecutioner.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 MFEM_ENABLED
11 
12 #pragma once
13 #include "Executioner.h"
14 #include "MFEMProblemData.h"
15 
16 class MFEMProblem;
17 
19 {
20 public:
22 
23  MFEMExecutioner(const InputParameters & params);
24 
25  virtual bool lastSolveConverged() const override { return true; };
26 
28  virtual void constructProblemOperator() = 0;
29 
33  void setDevice();
34 
35 protected:
38  mfem::Device _device;
39 };
40 
41 #endif
static InputParameters validParams()
void setDevice()
Set the device to use to solve the FE problem.
virtual void constructProblemOperator()=0
Virtual method to construct the ProblemOperator. Call for default problems.
Base problem data struct.
MFEMExecutioner(const InputParameters &params)
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Executioners are objects that do the actual work of solving your problem.
Definition: Executioner.h:30
MFEMProblemData & _problem_data
mfem::Device _device
MFEMProblem & _mfem_problem
virtual bool lastSolveConverged() const override
Whether or not the last solve converged.