https://mooseframework.inl.gov
Loading...
Searching...
No Matches
MFEMComplexCurlAux.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 ~MFEMComplexCurlAux() = default;
30
32 virtual void execute() override;
33
34 // Updates curl 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;
45 mfem::common::ParDiscreteCurlOperator _curl;
46};
47
48#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(div) auxvariable to be the curl of an H(curl) vector variable.
mfem::common::ParDiscreteCurlOperator _curl
Curl operator.
const std::complex< mfem::real_t > _scale_factor
Scalar factor to multiply the result by.
const VariableName _source_var_name
Name of source MFEMComplexVariable to take the curl of.
mfem::ParComplexGridFunction & _source_var
Reference to source gridfunction.
virtual void update() override
Method called to update any owned objects upon an FE space update.
virtual ~MFEMComplexCurlAux()=default
virtual void execute() override
Computes the auxvariable.
static InputParameters validParams()
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131