WARPXM v1.10.0
Loading...
Searching...
No Matches
wmplasma5momentbraginskiisource.h
Go to the documentation of this file.
1#ifndef __wmplasma5momentbraginskiisource__h__
2#define __wmplasma5momentbraginskiisource__h__
3
4// STD libraries
5#include <iostream>
6
7// WarpM includes
9
10#include <memory>
11
13{
14public:
16
18
19 void setup(const WxCryptSet& wxc);
20
21 // This generates the string for the function call
23 unsigned int callType) const;
24
25 // This generates the source code for the hyperapp
26 std::string generateSource(const WmUnstructuredEquationSet& eqSet) const;
27
28protected:
29 // TODO: in the future, perhaps generalize to more than 2 fluids
30 // fluid 0: ion
31 // fluid 1: electron
32 std::unique_ptr<WmKernelVariable> fluids_[2];
33 std::unique_ptr<WmKernelVariable> field_;
34 std::unique_ptr<WmKernelVariable> EfluidsDx_;
35 std::unique_ptr<WmKernelVariable> EfluidsDy_;
36 std::unique_ptr<WmKernelVariable> EfluidsDz_;
37
38 // Constants
39 real Aa, Ae; // mass ratios
40 real Za, Ze; // effective ionization level
41 real omega_c_norm, omega_p_norm, nu_p_norm, c_0_norm; // normalization constants
42 real gamma; // gas gamma (assumed same for a and e)
43 real g0e, g1e, g2, g3, g4, g5, g6, g7, g8, g9; // braginskii coefficients
44 bool IToE;
45
46private:
48 operator=(const WmPlasma5MomentBraginskiiSource& var);
50};
51
52#endif
Definition: wmplasma5momentbraginskiisource.h:13
real g8
Definition: wmplasma5momentbraginskiisource.h:43
real omega_p_norm
Definition: wmplasma5momentbraginskiisource.h:41
real omega_c_norm
Definition: wmplasma5momentbraginskiisource.h:41
void setup(const WxCryptSet &wxc)
real gamma
Definition: wmplasma5momentbraginskiisource.h:42
real g9
Definition: wmplasma5momentbraginskiisource.h:43
std::unique_ptr< WmKernelVariable > fluids_[2]
Definition: wmplasma5momentbraginskiisource.h:32
std::string generateSource(const WmUnstructuredEquationSet &eqSet) const
real g2
Definition: wmplasma5momentbraginskiisource.h:43
std::unique_ptr< WmKernelVariable > EfluidsDx_
Definition: wmplasma5momentbraginskiisource.h:34
real g5
Definition: wmplasma5momentbraginskiisource.h:43
real Ze
Definition: wmplasma5momentbraginskiisource.h:40
std::unique_ptr< WmKernelVariable > field_
Definition: wmplasma5momentbraginskiisource.h:33
std::unique_ptr< WmKernelVariable > EfluidsDz_
Definition: wmplasma5momentbraginskiisource.h:36
real c_0_norm
Definition: wmplasma5momentbraginskiisource.h:41
real g4
Definition: wmplasma5momentbraginskiisource.h:43
real g1e
Definition: wmplasma5momentbraginskiisource.h:43
std::unique_ptr< WmKernelVariable > EfluidsDy_
Definition: wmplasma5momentbraginskiisource.h:35
real g3
Definition: wmplasma5momentbraginskiisource.h:43
real nu_p_norm
Definition: wmplasma5momentbraginskiisource.h:41
real g0e
Definition: wmplasma5momentbraginskiisource.h:43
bool IToE
Definition: wmplasma5momentbraginskiisource.h:44
real g6
Definition: wmplasma5momentbraginskiisource.h:43
real g7
Definition: wmplasma5momentbraginskiisource.h:43
std::string generateSourceCall(const WmUnstructuredEquationSet &eqSet, unsigned int callType) const
real Za
Definition: wmplasma5momentbraginskiisource.h:40
real Aa
Definition: wmplasma5momentbraginskiisource.h:39
real Ae
Definition: wmplasma5momentbraginskiisource.h:39
Definition: wmunstructuredapp.h:31
Definition: wmunstructuredequationset.h:19
WxCryptSet extends WxCrypt by providing, in addition to name-value pairs, an set of named WxCryptSets...
Definition: wxcryptset.h:35
#define real
Definition: wmoclunstructuredreconstruction.h:11