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,
118 Heuristic,
119 and number of particles per box (i.e., with `costs_heuristic`) */
121
125 PML,
126 Periodic,
127 PEC,
128 PMC,
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_SilverMueller, // 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 PECInsulator, // Mixed boundary with PEC and insulator
141
145 Absorbing,
152
156 Maximum,
157 Minimum,
158 Sum,
160
163 FirstHalf,
165 None,
167
173
177 Full,
178 FirstHalf,
180 Default = Full
182
186 None,
187 Full,
188 Default = Full
190
191#endif // WARPX_UTILS_WARPXALGORITHMSELECTION_H_
#define AMREX_ENUM(CLASS,...)
@ Full
Definition Diagnostics.H:25
EvolveScheme
struct to select the overall evolve scheme
Definition WarpXAlgorithmSelection.H:37
@ Explicit
Definition WarpXAlgorithmSelection.H:37
LoadBalanceCostsUpdateAlgo
Definition WarpXAlgorithmSelection.H:119
@ Heuristic
Definition WarpXAlgorithmSelection.H:120
@ Timers
Definition WarpXAlgorithmSelection.H:119
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:170
@ Implicit
Definition WarpXAlgorithmSelection.H:171
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:138
@ PMC
Definition WarpXAlgorithmSelection.H:139
@ absorbingsilvermueller
Definition WarpXAlgorithmSelection.H:140
@ Absorbing_SilverMueller
Definition WarpXAlgorithmSelection.H:140
@ PECInsulator
Definition WarpXAlgorithmSelection.H:140
@ Damped
Definition WarpXAlgorithmSelection.H:140
@ Neumann
Definition WarpXAlgorithmSelection.H:140
@ Open
Definition WarpXAlgorithmSelection.H:140
@ Periodic
Definition WarpXAlgorithmSelection.H:138
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:181
PSATDSolutionType
Definition WarpXAlgorithmSelection.H:100
@ SecondOrder
Definition WarpXAlgorithmSelection.H:100
@ FirstOrder
Definition WarpXAlgorithmSelection.H:100
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:189
ReductionType
Definition WarpXAlgorithmSelection.H:159
@ Integral
Definition WarpXAlgorithmSelection.H:159
@ Maximum
Definition WarpXAlgorithmSelection.H:159
@ Sum
Definition WarpXAlgorithmSelection.H:159
@ Minimum
Definition WarpXAlgorithmSelection.H:159
ParticleBoundaryType
Definition WarpXAlgorithmSelection.H:146
@ Absorbing
Definition WarpXAlgorithmSelection.H:146
@ Reflecting
Definition WarpXAlgorithmSelection.H:148
@ Thermal
Definition WarpXAlgorithmSelection.H:150
TimeDependencyRho
Definition WarpXAlgorithmSelection.H:112
SubcyclingHalf
Subcycling half selector.
Definition WarpXAlgorithmSelection.H:166
@ SecondHalf
Definition WarpXAlgorithmSelection.H:166
@ FirstHalf
Definition WarpXAlgorithmSelection.H:166
Definition PML.H:138
Definition SemiImplicitEM.H:43
Definition StrangImplicitSpectralEM.H:44
Definition ThetaImplicitEM.H:53
Definition WarpX_PEC.H:14
Definition Enums.H:14
@ Default
Definition Enums.H:23