https://mooseframework.inl.gov
Loading...
Searching...
No Matches
MFEMComplexGradAux.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
14#include "libmesh/ignore_warnings.h"
15#include "mfem/miniapps/common/pfem_extras.hpp"
16#include "libmesh/restore_warnings.h"
18
23{
24public:
26
28
29 virtual ~MFEMComplexGradAux() = default;
30
32 virtual void execute() override;
33
34 // Updates grad operator.
35 virtual void update() override;
36
37protected:
39 const VariableName _source_var_name;
41 mfem::ParComplexGridFunction & _source_var;
43 const std::complex<mfem::real_t> _scale_factor;
44
46 mfem::common::ParDiscreteGradOperator _grad;
47};
48
49#endif
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
Class to construct an auxiliary solver used to update a complex auxvariable.
Class to set an H(curl) auxvariable to be the gradient of a complex H1 scalar variable.
virtual ~MFEMComplexGradAux()=default
virtual void execute() override
Computes the auxvariable.
mfem::common::ParDiscreteGradOperator _grad
Grad operator.
virtual void update() override
Method called to update any owned objects upon an FE space update.
mfem::ParComplexGridFunction & _source_var
Reference to source gridfunction.
const std::complex< mfem::real_t > _scale_factor
Scalar factor to multiply the result by.
const VariableName _source_var_name
Name of source MFEMVariable to take the gradient of.
static InputParameters validParams()
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131