WarpX
Loading...
Searching...
No Matches
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 WARPX_UTILS_WARPXALGORITHMSELECTION_H_
9#define WARPX_UTILS_WARPXALGORITHMSELECTION_H_
10
11#include <AMReX_BaseFwd.H>
12#include <AMReX_Enum.H>
13#include <ablastr/utils/Enums.H>
14
15#include <string>
16
17using namespace ablastr::utils::enums; // NOLINT(google-global-names-in-headers)
18
19
25 Vacuum,
26 Macroscopic,
27 Default = Vacuum);
28
33 Explicit,
34 Theta_Implicit_EM,
35 Semi_Implicit_EM,
36 Strang_Implicit_Spectral_EM,
37 Semi_Implicit_Darwin,
38 Default = Explicit);
39
47 BackwardEuler,
48 LaxWendroff,
49 Default = BackwardEuler);
50
52 None,
53 Yee,
54 CKC,
55 PSATD,
56 ECT,
57 HybridPIC,
58 hybrid = HybridPIC,
59 Default = Yee);
60
62 None,
63 Relativistic,
64 LabFrameElectroMagnetostatic,
65 LabFrame,
66 LabFrameEffectivePotential,
67 Default = None);
68
70 Multigrid,
71 IntegratedGreenFunction,
72 fft = IntegratedGreenFunction,
73 Default = Multigrid);
74
76 Boris,
77 Vay,
78 HigueraCary,
79 higuera = HigueraCary,
80 Default = Boris);
81
83 Esirkepov,
84 Direct,
85 Vay,
86 Villasenor,
87 Default = Esirkepov);
88
90 Standard,
91 Default = Standard);
92
94 EnergyConserving,
95 MomentumConserving,
96 Default = EnergyConserving);
97
99 FirstOrder,
100 SecondOrder,
101 Default = SecondOrder);
102
104 Constant,
105 Linear,
106 Quadratic,
107 Default = Constant);
108
110 Constant,
111 Linear,
112 Quadratic,
113 Default = Linear);
114
118 Timers,
119 Heuristic,
121 Default = Timers);
122
126 PML,
127 Periodic,
129 PMC,
130 Neumann = PMC, // For electrostatic, the normal E is set to zero
131 Damped, // Fields in the guard cells are damped for PSATD
132 //in the moving window direction
133 Absorbing_Silver_Mueller, // Silver-Mueller boundary condition
134 None, // The fields values at the boundary are not updated. This is
135 // useful for RZ simulations, at r=0.
136 Open, // Used in the Integrated Green Function Poisson solver
137 // Note that the solver implicitely assumes open BCs:
138 // no need to enforce them separately
139 PEC_Insulator, // Mixed boundary with PEC and insulator
140 Default = PML);
141
145 Absorbing,
146 Open,
147 Reflecting,
148 Periodic,
149 Thermal,
150 None,
151 Default = Absorbing);
152
156 Maximum,
157 Minimum,
158 Sum,
159 Integral = Sum);
160
163 FirstHalf,
164 SecondHalf,
165 None,
166 Default = None);
167
170 Explicit,
171 Implicit,
172 Default = Explicit);
173
176 None,
177 Full,
178 Default = Full);
179
182 Full,
183 FirstHalf,
184 SecondHalf,
185 Default = Full);
186
190 None,
191 FisherYates,
192 Modulus,
193 Standard,
194 Default = FisherYates
196
200 Forward,
201 Backward,
202 Isotropic,
203 Default = Isotropic
205
206#endif // WARPX_UTILS_WARPXALGORITHMSELECTION_H_
EvolveScheme
struct to select the overall evolve scheme
Definition WarpXAlgorithmSelection.H:38
LoadBalanceCostsUpdateAlgo
Definition WarpXAlgorithmSelection.H:119
TimeDependencyJ
Definition WarpXAlgorithmSelection.H:107
PushType
Particle push scheme.
Definition WarpXAlgorithmSelection.H:170
ElectromagneticSolverAlgo
Definition WarpXAlgorithmSelection.H:59
ElectrostaticSolverAlgo
Definition WarpXAlgorithmSelection.H:67
ChargeDepositionAlgo
Definition WarpXAlgorithmSelection.H:91
FieldBoundaryType
Definition WarpXAlgorithmSelection.H:128
CurrentDepositionAlgo
Definition WarpXAlgorithmSelection.H:87
ParticlePusherAlgo
Definition WarpXAlgorithmSelection.H:80
MacroscopicSolverAlgo
struct to select algorithm for macroscopic Maxwell solver LaxWendroff (semi-implicit) represents sigm...
Definition WarpXAlgorithmSelection.H:49
MediumForEM
struct to determine the computational medium, i.e., vacuum or material/macroscopic default is vacuum.
Definition WarpXAlgorithmSelection.H:27
PoissonSolverAlgo
Definition WarpXAlgorithmSelection.H:73
PositionPushType
For advanced collision algorithms that split the particle push in substeps.
Definition WarpXAlgorithmSelection.H:178
PSATDSolutionType
Definition WarpXAlgorithmSelection.H:101
ScatteringAngleModel
For binary collision algorithms, the strategy to determine the scattering angle in the center of mass...
Definition WarpXAlgorithmSelection.H:204
GatheringAlgo
Definition WarpXAlgorithmSelection.H:96
MomentumPushType
For advanced collision algorithms that split the particle push in substeps.
Definition WarpXAlgorithmSelection.H:185
ReductionType
Definition WarpXAlgorithmSelection.H:159
ParticleShufflingMethod
Particle shuffling method for binary collisions.
Definition WarpXAlgorithmSelection.H:195
ParticleBoundaryType
Definition WarpXAlgorithmSelection.H:146
TimeDependencyRho
Definition WarpXAlgorithmSelection.H:113
SubcyclingHalf
Subcycling half selector.
Definition WarpXAlgorithmSelection.H:166
Definition PEC_Insulator.H:16
Definition PML.H:139
#define AMREX_ENUM(CLASS,...)
Definition WarpX_PEC.H:14
Definition Enums.H:14