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,
28
38
49
51 None,
52 Yee,
53 CKC,
54 PSATD,
55 ECT,
59
61 None,
67
73
75 Boris,
76 Vay,
80
83 Direct,
84 Vay,
87
91
96
101
103 Constant,
104 Linear,
105 Quadratic,
107
109 Constant,
110 Linear,
111 Quadratic,
113
117 Timers,
121
125 PML,
126 Periodic,
129 Neumann = PMC, // For electrostatic, the normal E is set to zero
130 Damped, // Fields in the guard cells are damped for PSATD
131 //in the moving window direction
132 Absorbing_Silver_Mueller, // Silver-Mueller boundary condition
133 None, // The fields values at the boundary are not updated. This is
134 // useful for RZ simulations, at r=0.
135 Open, // Used in the Integrated Green Function Poisson solver
136 // Note that the solver implicitely assumes open BCs:
137 // no need to enforce them separately
138 PEC_Insulator, // Mixed boundary with PEC and insulator
140
144 Absorbing,
151
155 Maximum,
156 Minimum,
157 Sum,
159
162 FirstHalf,
164 None,
166
172
176 None,
177 Full,
178 Default = Full
180
184 Full,
185 FirstHalf,
187 Default = Full
189
194 Forward,
195 Backward,
196 Isotropic,
199
200#endif // WARPX_UTILS_WARPXALGORITHMSELECTION_H_
#define AMREX_ENUM(CLASS,...)
EvolveScheme
struct to select the overall evolve scheme
Definition WarpXAlgorithmSelection.H:37
@ Semi_Implicit_EM
Definition WarpXAlgorithmSelection.H:37
@ Theta_Implicit_EM
Definition WarpXAlgorithmSelection.H:37
@ Strang_Implicit_Spectral_EM
Definition WarpXAlgorithmSelection.H:37
@ Explicit
Definition WarpXAlgorithmSelection.H:37
LoadBalanceCostsUpdateAlgo
Definition WarpXAlgorithmSelection.H:118
@ Heuristic
Definition WarpXAlgorithmSelection.H:119
@ Timers
load balance according to in-code timer-based weights (i.e., with costs)
Definition WarpXAlgorithmSelection.H:118
TimeDependencyJ
Definition WarpXAlgorithmSelection.H:106
@ Linear
Definition WarpXAlgorithmSelection.H:106
@ Quadratic
Definition WarpXAlgorithmSelection.H:106
@ Constant
Definition WarpXAlgorithmSelection.H:106
PushType
Particle push scheme.
Definition WarpXAlgorithmSelection.H:169
@ Implicit
Crank-Nicolson scheme (e.g., equations (15)-(18) in (Chen et al, JCP 407, 2020)).
Definition WarpXAlgorithmSelection.H:170
ElectromagneticSolverAlgo
Definition WarpXAlgorithmSelection.H:58
@ ECT
Definition WarpXAlgorithmSelection.H:58
@ CKC
Definition WarpXAlgorithmSelection.H:58
@ Yee
Definition WarpXAlgorithmSelection.H:58
@ PSATD
Definition WarpXAlgorithmSelection.H:58
@ None
Definition WarpXAlgorithmSelection.H:58
@ HybridPIC
Definition WarpXAlgorithmSelection.H:58
@ hybrid
Definition WarpXAlgorithmSelection.H:58
ElectrostaticSolverAlgo
Definition WarpXAlgorithmSelection.H:66
@ Relativistic
Definition WarpXAlgorithmSelection.H:66
@ LabFrame
Definition WarpXAlgorithmSelection.H:66
@ LabFrameElectroMagnetostatic
Definition WarpXAlgorithmSelection.H:66
@ LabFrameEffectivePotential
Definition WarpXAlgorithmSelection.H:66
ChargeDepositionAlgo
Definition WarpXAlgorithmSelection.H:90
@ Standard
Definition WarpXAlgorithmSelection.H:90
FieldBoundaryType
Definition WarpXAlgorithmSelection.H:127
@ PMC
perfect magnetic conductor (PMC) with B_tangential=0
Definition WarpXAlgorithmSelection.H:128
@ Damped
Definition WarpXAlgorithmSelection.H:130
@ Neumann
Definition WarpXAlgorithmSelection.H:129
@ Open
Definition WarpXAlgorithmSelection.H:135
@ Periodic
Definition WarpXAlgorithmSelection.H:127
@ Absorbing_Silver_Mueller
Definition WarpXAlgorithmSelection.H:132
CurrentDepositionAlgo
Definition WarpXAlgorithmSelection.H:86
@ Esirkepov
Definition WarpXAlgorithmSelection.H:86
@ Villasenor
Definition WarpXAlgorithmSelection.H:86
@ Direct
Definition WarpXAlgorithmSelection.H:86
ParticlePusherAlgo
Definition WarpXAlgorithmSelection.H:79
@ Boris
Definition WarpXAlgorithmSelection.H:79
@ HigueraCary
Definition WarpXAlgorithmSelection.H:79
@ higuera
Definition WarpXAlgorithmSelection.H:79
@ Vay
Definition WarpXAlgorithmSelection.H:79
MacroscopicSolverAlgo
struct to select algorithm for macroscopic Maxwell solver LaxWendroff (semi-implicit) represents sigm...
Definition WarpXAlgorithmSelection.H:48
@ BackwardEuler
Definition WarpXAlgorithmSelection.H:48
@ LaxWendroff
Definition WarpXAlgorithmSelection.H:48
MediumForEM
struct to determine the computational medium, i.e., vacuum or material/macroscopic default is vacuum.
Definition WarpXAlgorithmSelection.H:27
@ Vacuum
Definition WarpXAlgorithmSelection.H:27
@ Macroscopic
Definition WarpXAlgorithmSelection.H:27
PoissonSolverAlgo
Definition WarpXAlgorithmSelection.H:72
@ IntegratedGreenFunction
Definition WarpXAlgorithmSelection.H:72
@ Multigrid
Definition WarpXAlgorithmSelection.H:72
@ fft
Definition WarpXAlgorithmSelection.H:72
PositionPushType
For advanced collision algorithms that split the particle push in substeps.
Definition WarpXAlgorithmSelection.H:179
@ Full
Definition WarpXAlgorithmSelection.H:179
PSATDSolutionType
Definition WarpXAlgorithmSelection.H:100
@ SecondOrder
Definition WarpXAlgorithmSelection.H:100
@ FirstOrder
Definition WarpXAlgorithmSelection.H:100
ScatteringAngleModel
For binary collision algorithms, the strategy to determine the scattering angle in the center of mass...
Definition WarpXAlgorithmSelection.H:198
@ Isotropic
Definition WarpXAlgorithmSelection.H:198
@ Forward
Definition WarpXAlgorithmSelection.H:198
@ Backward
Definition WarpXAlgorithmSelection.H:198
GatheringAlgo
Definition WarpXAlgorithmSelection.H:95
@ MomentumConserving
Definition WarpXAlgorithmSelection.H:95
@ EnergyConserving
Definition WarpXAlgorithmSelection.H:95
MomentumPushType
For advanced collision algorithms that split the particle push in substeps.
Definition WarpXAlgorithmSelection.H:188
ReductionType
Definition WarpXAlgorithmSelection.H:158
@ Integral
Definition WarpXAlgorithmSelection.H:158
@ Maximum
Definition WarpXAlgorithmSelection.H:158
@ Sum
Definition WarpXAlgorithmSelection.H:158
@ Minimum
Definition WarpXAlgorithmSelection.H:158
ParticleBoundaryType
Definition WarpXAlgorithmSelection.H:145
@ Absorbing
particles crossing domain boundary are removed
Definition WarpXAlgorithmSelection.H:145
@ Reflecting
particles are reflected
Definition WarpXAlgorithmSelection.H:147
@ Thermal
Definition WarpXAlgorithmSelection.H:149
TimeDependencyRho
Definition WarpXAlgorithmSelection.H:112
SubcyclingHalf
Subcycling half selector.
Definition WarpXAlgorithmSelection.H:165
@ SecondHalf
Definition WarpXAlgorithmSelection.H:165
@ FirstHalf
Definition WarpXAlgorithmSelection.H:165
Definition PEC_Insulator.H:16
Definition PML.H:138
Definition WarpX_PEC.H:14
Definition Enums.H:14
@ Default
Definition Enums.H:23