https://mooseframework.inl.gov
Loading...
Searching...
No Matches
MFEMProblemData.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"
16#include "MFEMContainers.h"
17#include "CoefficientManager.h"
21
24{
25public:
26 MFEMProblemData() = default;
27 virtual ~MFEMProblemData() { ode_solver.reset(); };
28
29 std::shared_ptr<mfem::ParMesh> pmesh{nullptr};
32
33 std::unique_ptr<mfem::ODESolver> ode_solver{nullptr};
35 mfem::BlockVector true_solution;
36
37 std::shared_ptr<Moose::MFEM::EquationSystem> eqn_system{nullptr};
38 std::shared_ptr<Moose::MFEM::NonlinearSolverBase> nonlinear_solver{nullptr};
39 std::shared_ptr<Moose::MFEM::LinearSolverBase> jacobian_solver{nullptr};
40
47
48 std::string mode_separator{"_"};
49
50 std::shared_ptr<MFEMRefinementMarker> refiner;
51
52 MPI_Comm comm;
53 int myid;
55};
56
57#endif
Front-end class for creating and storing MFEM coefficients.
Lightweight adaptor over an std::map from strings to pointer to T.
Lightweight adaptor over a std::map relating names of GridFunctions with the name of their time deriv...
Base problem data struct.
std::shared_ptr< Moose::MFEM::LinearSolverBase > jacobian_solver
Moose::MFEM::FESpaces fespaces
Moose::MFEM::SubMeshes submeshes
std::shared_ptr< Moose::MFEM::EquationSystem > eqn_system
Moose::MFEM::TimeDerivativeMap time_derivative_map
std::string mode_separator
MFEMProblemData()=default
Moose::MFEM::CoefficientManager coefficients
Moose::MFEM::ComplexGridFunctions cmplx_gridfunctions
std::unique_ptr< mfem::ODESolver > ode_solver
std::shared_ptr< MFEMRefinementMarker > refiner
mfem::BlockVector true_solution
Persistent true-DoF solution vector backing trial grid functions after problem operator init.
Moose::MFEM::FECollections fecs
std::shared_ptr< mfem::ParMesh > pmesh
std::shared_ptr< Moose::MFEM::NonlinearSolverBase > nonlinear_solver
virtual ~MFEMProblemData()
Moose::MFEM::GridFunctions gridfunctions
Moose::MFEM::FESpaceHierarchies fespace_hierarchies