https://mooseframework.inl.gov
MFEMComplexExteriorProductAux.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 "MFEMComplexAuxKernel.h"
15 
25 {
26 public:
28 
30  ~MFEMComplexExteriorProductAux() override = default;
31 
32  void execute() override;
33 
34 protected:
36  const std::complex<mfem::real_t> _scale_factor;
37 
39  mfem::VectorCoefficient & _u_coef_real;
40  mfem::VectorCoefficient & _u_coef_imag;
41  mfem::VectorCoefficient & _v_coef_real;
42  mfem::VectorCoefficient & _v_coef_imag;
43 
44  mfem::VectorCrossProductCoefficient _cross_ur_vr;
45  mfem::VectorCrossProductCoefficient _cross_ur_vi;
46  mfem::VectorCrossProductCoefficient _cross_ui_vr;
47  mfem::VectorCrossProductCoefficient _cross_ui_vi;
48 
50  mfem::VectorSumCoefficient _final_coef_real;
51  mfem::VectorSumCoefficient _final_coef_imag;
52 };
53 
54 #endif // MOOSE_MFEM_ENABLED
mfem::VectorSumCoefficient _final_coef_imag
mfem::VectorCrossProductCoefficient _cross_ur_vr
mfem::VectorCrossProductCoefficient _cross_ui_vr
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseBase.h:131
void execute() override
Perform the main work for this object.
~MFEMComplexExteriorProductAux() override=default
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
mfem::VectorCrossProductCoefficient _cross_ur_vi
Project onto a complex vector MFEM auxvariable.
const std::complex< mfem::real_t > _scale_factor
Scaling factor applied on the resulting field.
mfem::VectorCoefficient & _u_coef_real
Coefficient wrappers.
mfem::VectorCrossProductCoefficient _cross_ui_vi
mfem::VectorSumCoefficient _final_coef_real
Final coefficient that sums the crossproduct terms.
MFEMComplexExteriorProductAux(const InputParameters &parameters)
Class to construct an auxiliary solver used to update a complex auxvariable.