WarpX
WarpXAlgorithmSelection.H
Go to the documentation of this file.
1 /* Copyright 2019 David Grote, Luca Fedeli, Remi Lehe
2  * Yinjian Zhao
3  *
4  * This file is part of WarpX.
5  *
6  * License: BSD-3-Clause-LBNL
7  */
8 #ifndef UTILS_WARPXALGORITHMSELECTION_H_
9 #define UTILS_WARPXALGORITHMSELECTION_H_
10 
11 #include <AMReX_ParmParse.H>
12 #include <string>
13 
18 struct MediumForEM {
19  enum {
20  Vacuum = 0,
22  };
23 };
24 
32  enum {
33  BackwardEuler = 0,
34  LaxWendroff = 1
35  };
36 };
37 
39  enum {
40  Yee = 0,
41  CKC = 1
42  };
43 };
44 
46  enum {
47  Boris = 0,
48  Vay = 1,
49  HigueraCary = 2
50  };
51 };
52 
54  enum {
55  Esirkepov = 0,
56  Direct = 1,
57  Vay = 2
58  };
59 };
60 
62  // Only the Standard algorithm is implemented
63  enum {
64  Standard = 0
65  };
66 };
67 
68 struct GatheringAlgo {
69  enum {
70  EnergyConserving = 0,
71  MomentumConserving
72  };
73 };
74 
78  enum {
79  Timers = 0,
80  Heuristic = 1
82  };
83 };
84 
85 int
86 GetAlgorithmInteger( amrex::ParmParse& pp, const char* pp_search_key );
87 
88 #endif // UTILS_WARPXALGORITHMSELECTION_H_
Definition: WarpXAlgorithmSelection.H:77
Definition: WarpXAlgorithmSelection.H:45
Definition: WarpXAlgorithmSelection.H:68
int GetAlgorithmInteger(amrex::ParmParse &pp, const char *pp_search_key)
Definition: WarpXAlgorithmSelection.cpp:75
Definition: WarpXAlgorithmSelection.H:38
Definition: WarpXAlgorithmSelection.H:21
Definition: WarpXAlgorithmSelection.H:61
struct to select algorithm for macroscopic Maxwell solver LaxWendroff (semi-implicit) represents sigm...
Definition: WarpXAlgorithmSelection.H:31
struct to determine the computational medium, i.e., vacuum or material/macroscopic default is vacuum...
Definition: WarpXAlgorithmSelection.H:18
Definition: WarpXAlgorithmSelection.H:20
Definition: WarpXAlgorithmSelection.H:53