LCOV - code coverage report
Current view: top level - include/mfem/problem_operators - ComplexEquationSystemProblemOperator.h (source / functions) Hit Total Coverage
Test: idaholab/moose framework: #32971 (54bef8) with base c6cf66 Lines: 7 7 100.0 %
Date: 2026-05-29 20:35:17 Functions: 2 2 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       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 "EquationSystemProblemOperator.h"
      15             : 
      16             : namespace Moose::MFEM
      17             : {
      18             : /// Steady-state problem operator with an equation system.
      19             : class ComplexEquationSystemProblemOperator : public EquationSystemProblemOperator
      20             : {
      21             : 
      22             : public:
      23          62 :   ComplexEquationSystemProblemOperator(MFEMProblem & problem)
      24          62 :     : EquationSystemProblemOperator(problem),
      25          62 :       _equation_system{
      26          62 :           std::dynamic_pointer_cast<Moose::MFEM::ComplexEquationSystem>(_problem_data.eqn_system)}
      27             :   {
      28          62 :   }
      29             : 
      30             :   virtual void SetGridFunctions() override;
      31             :   virtual void Solve() override;
      32             : 
      33         288 :   [[nodiscard]] virtual Moose::MFEM::ComplexEquationSystem * GetEquationSystem() const override
      34             :   {
      35             :     mooseAssert(_equation_system,
      36             :                 "No ComplexEquationSystem in ComplexEquationSystemProblemOperator.");
      37         288 :     return _equation_system.get();
      38             :   }
      39             : 
      40             : private:
      41             :   std::shared_ptr<Moose::MFEM::ComplexEquationSystem> _equation_system{nullptr};
      42             :   std::vector<mfem::ParComplexGridFunction *> _cmplx_trial_variables;
      43             :   std::vector<mfem::ParComplexGridFunction *> _cmplx_test_variables;
      44             : };
      45             : 
      46             : } // namespace Moose::MFEM
      47             : 
      48             : #endif

Generated by: LCOV version 1.14