https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ComplexEquationSystemProblemOperator.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
15
16namespace Moose::MFEM
17{
20{
21
22public:
24 const std::string & weak_form_name = "");
25
26 virtual void SetGridFunctions() override;
27 virtual void Solve() override;
28
29 [[nodiscard]] virtual Moose::MFEM::ComplexEquationSystem * GetEquationSystem() const override
30 {
31 mooseAssert(_equation_system,
32 "No ComplexEquationSystem in ComplexEquationSystemProblemOperator.");
33 return _equation_system.get();
34 }
35
36private:
37 std::shared_ptr<Moose::MFEM::ComplexEquationSystem> _equation_system{nullptr};
38 std::vector<mfem::ParComplexGridFunction *> _cmplx_trial_variables;
39 std::vector<mfem::ParComplexGridFunction *> _cmplx_test_variables;
40};
41
42} // namespace Moose::MFEM
43
44#endif
Steady-state problem operator with an equation system.
std::vector< mfem::ParComplexGridFunction * > _cmplx_trial_variables
std::shared_ptr< Moose::MFEM::ComplexEquationSystem > _equation_system
virtual Moose::MFEM::ComplexEquationSystem * GetEquationSystem() const override
Returns a pointer to the operator's equation system.
std::vector< mfem::ParComplexGridFunction * > _cmplx_test_variables
Class to store weak form components (bilinear and linear forms, and optionally mixed and nonlinear fo...
Steady-state ProblemOperator that prepares and solves a single EquationSystem.
Utilities for converting between vector(s) of libMesh Points and MFEM Vector(s).