https://mooseframework.inl.gov
MFEMTransient.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 "MFEMExecutioner.h"
15 
17 {
18 public:
20 
21  explicit MFEMTransient(const InputParameters & params);
22 
23  void constructProblemOperator() override;
24  void step(double dt, int it) const;
25  virtual void init() override;
26  virtual void execute() override;
27 
28  mutable double _t_step; // Time step
29 
30 private:
31  double _t_initial; // Start time
32  double _t_final; // End time
33  Real & _t; // Current time
34  mutable int _it; // Time index
35  int _vis_steps; // Number of cycles between each output update
36  mutable bool _last_step; // Flag to check if current step is final
37  std::unique_ptr<Moose::MFEM::TimeDomainProblemOperator> _problem_operator{nullptr};
38 };
39 
40 #endif
std::unique_ptr< Moose::MFEM::TimeDomainProblemOperator > _problem_operator
Definition: MFEMTransient.h:37
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
double _t_initial
Definition: MFEMTransient.h:31
virtual void init() override
Initialize the executioner.
Definition: MFEMTransient.C:81
void constructProblemOperator() override
Virtual method to construct the ProblemOperator. Call for default problems.
Definition: MFEMTransient.C:47
MFEMTransient(const InputParameters &params)
Definition: MFEMTransient.C:31
void step(double dt, int it) const
Definition: MFEMTransient.C:57
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void execute() override
Pure virtual execute function MUST be overridden by children classes.
static InputParameters validParams()
Definition: MFEMTransient.C:19