https://mooseframework.inl.gov
TimeDependentEquationSystem.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 MOOSE_MFEM_ENABLED
11 
12 #pragma once
13 
14 #include "EquationSystem.h"
15 
16 namespace Moose::MFEM
17 {
22 {
23 public:
25 
26  virtual void SetTimeStep(mfem::real_t & dt) { _dt = dt; };
27  virtual void AddKernel(std::shared_ptr<MFEMKernel> kernel) override;
28 
29 protected:
30  virtual void BuildBilinearForms() override;
31  virtual void BuildMixedBilinearForms() override;
32  virtual void BuildNonlinearForms() override;
33  virtual void EliminateCoupledVariables() override;
34 
36  mfem::real_t _dt;
37 
43  _td_mblfs; // named according to trial variable
44 
47 
48 private:
50 };
51 
52 } // namespace Moose::MFEM
53 
54 #endif
virtual void AddKernel(std::shared_ptr< MFEMKernel > kernel) override
Add kernels.
Moose::MFEM::NamedFieldsMap< Moose::MFEM::NamedFieldsMap< std::vector< std::shared_ptr< MFEMKernel > > > > _td_kernels_map
Class to store weak form components (bilinear and linear forms, and optionally mixed and nonlinear fo...
Lightweight adaptor over a std::map relating names of GridFunctions with the name of their time deriv...
Moose::MFEM::NamedFieldsMap< Moose::MFEM::NamedFieldsMap< mfem::ParMixedBilinearForm > > _td_mblfs
Lightweight adaptor over an std::map from strings to pointer to T.
Class to store weak form components for time dependent PDEs.
virtual void BuildMixedBilinearForms() override
Build mixed bilinear forms (off-diagonal Jacobian contributions)
virtual void EliminateCoupledVariables() override
Perform trivial eliminations of coupled variables lacking corresponding test variables.
TimeDependentEquationSystem(const Moose::MFEM::TimeDerivativeMap &time_derivative_map)
Moose::MFEM::NamedFieldsMap< mfem::ParBilinearForm > _td_blfs
Containers to store contributions to weak form of the form (F du/dt, v)
Problem operator for time-dependent problems with an equation system.
const Moose::MFEM::TimeDerivativeMap & _time_derivative_map
Map between variable names and their time derivatives.
Utilities for converting between vector(s) of libMesh Points and MFEM Vector(s).
virtual void BuildBilinearForms() override
Build bilinear forms (diagonal Jacobian contributions)
virtual void BuildNonlinearForms() override
Build non-linear action forms.