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