https://mooseframework.inl.gov
MFEMVectorFEInnerProductIntegralPostprocessor.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 #include "MFEMPostprocessor.h"
14 #include "MFEMBlockRestrictable.h"
15 
22 {
23 public:
25 
27 
31  virtual void execute() override;
32 
36  virtual PostprocessorValue getValue() const override final;
37 
38 private:
39  mfem::real_t _integral;
40  mfem::ParGridFunction & _primal_var;
41  mfem::ParGridFunction & _dual_var;
42  mfem::Coefficient & _scalar_coef;
43  mfem::VectorGridFunctionCoefficient _dual_var_coef;
44  mfem::ScalarVectorProductCoefficient _scaled_dual_var_coef;
45  mfem::ParLinearForm _subdomain_integrator;
46 };
47 
48 #endif
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseBase.h:127
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Postprocessor for MFEM results.
Real PostprocessorValue
various MOOSE typedefs
Definition: MooseTypes.h:202
virtual PostprocessorValue getValue() const override final
Return the last evaluated integral value.
Compute the integral of the innter product between two MFEM vector FE variables, scaled by an optiona...
Base class for construction of an object that is restricted to a subset of subdomains of the problem ...