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 : #include "MFEML2Error.h" 13 : #include "MFEMProblem.h" 14 : 15 : registerMooseObject("MooseApp", MFEML2Error); 16 : 17 : InputParameters 18 8666 : MFEML2Error::validParams() 19 : { 20 8666 : InputParameters params = MFEMPostprocessor::validParams(); 21 8666 : params.addClassDescription( 22 : "Computes L2 error $\\left\\Vert u_{ex} - u_{h}\\right\\Vert_{\\rm L2}$ for " 23 : "gridfunctions using H1 or L2 elements."); 24 8666 : params.addParam<MFEMScalarCoefficientName>("function", 25 : "The analytic solution to compare against."); 26 8666 : params.addParam<VariableName>("variable", 27 : "Name of the variable of which to find the norm of the error."); 28 8666 : return params; 29 0 : } 30 : 31 18 : MFEML2Error::MFEML2Error(const InputParameters & parameters) 32 : : MFEMPostprocessor(parameters), 33 18 : _coeff(getScalarCoefficient("function")), 34 36 : _var(getMFEMProblem().getProblemData().gridfunctions.GetRef(getParam<VariableName>("variable"))) 35 : { 36 18 : } 37 : 38 : void 39 16 : MFEML2Error::initialize() 40 : { 41 16 : } 42 : 43 : void 44 16 : MFEML2Error::execute() 45 : { 46 16 : } 47 : 48 : PostprocessorValue 49 19 : MFEML2Error::getValue() const 50 : { 51 19 : return _var.ComputeL2Error(_coeff); 52 : } 53 : 54 : #endif