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 MFEM_ENABLED 11 : 12 : #pragma once 13 : 14 : #include "MFEMGeneralUserObject.h" 15 : #include "MFEMContainers.h" 16 : 17 : /* 18 : Class to construct an auxiliary solver used to update an auxvariable. 19 : */ 20 : class MFEMAuxKernel : public MFEMGeneralUserObject 21 : { 22 : public: 23 : static InputParameters validParams(); 24 : 25 : MFEMAuxKernel(const InputParameters & parameters); 26 40 : virtual ~MFEMAuxKernel() = default; 27 : 28 : // Method called to update any owned objects upon a mesh update. 29 0 : virtual void update(){}; 30 : 31 : protected: 32 : /// Name of auxvariable to store the result of the auxkernel in. 33 : const AuxVariableName _result_var_name; 34 : 35 : /// Reference to result gridfunction. 36 : mfem::ParGridFunction & _result_var; 37 : }; 38 : 39 : #endif