WarpX
Loading...
Searching...
No Matches
Fields.H
Go to the documentation of this file.
1/* Copyright 2024 The WarpX Community
2 *
3 * This file is part of WarpX.
4 *
5 * License: BSD-3-Clause-LBNL
6 * Authors: Luca Fedeli, Justin Angus, Remi Lehe, Axel Huebl
7 */
8#ifndef WARPX_FIELDS_H_
9#define WARPX_FIELDS_H_
10
12
13#include <AMReX_Enum.H>
14
15#include <algorithm>
16#include <iterator>
17
18
20{
27 None,
30 Efield_fp,
31 Bfield_fp,
39 rho_buf,
40 rho_fp,
41 F_fp,
42 G_fp,
43 phi_fp,
55 Efield_cp,
56 Bfield_cp,
58 rho_cp,
59 F_cp,
60 G_cp,
84 B_old,
85 Efield_fp_save, // E at start of Newton step used by the implicit solvers
86 current_fp_MM, // J from particles included in the mass matrices at start of Newton step used by the implicit solvers
87 MassMatrices_X, // Stores full mass matrix elements for Jx used by the implicit solvers
88 MassMatrices_Y, // Stores full mass matrix elements for Jy used by the implicit solvers
89 MassMatrices_Z, // Stores full mass matrix elements for Jz used by the implicit solvers
90 MassMatrices_PC, // Stores reduced mass matrix elements for the implicit solver preconditioner (PC)
92 Venl,
94 );
95
143
145 inline bool
146 isFieldArray (const FieldType field_type)
147 {
148 return std::any_of( std::begin(ArrayFieldTypes), std::end(ArrayFieldTypes),
149 [field_type](const FieldType& f) { return f == field_type; });
150 }
151
152}
153
154#endif //WARPX_FIELDS_H_
#define AMREX_ENUM(CLASS,...)
Definition Fields.H:20
constexpr FieldType ArrayFieldTypes[]
Definition Fields.H:97
FieldType
Definition Fields.H:94
@ hybrid_current_fp_external
Definition Fields.H:94
@ Efield_aux
Definition Fields.H:94
@ B_old
Definition Fields.H:94
@ current_cp
Definition Fields.H:94
@ hybrid_current_fp_temp
Definition Fields.H:94
@ current_fp_nodal
Definition Fields.H:94
@ vector_potential_grad_buf_e_stag
Definition Fields.H:94
@ F_fp
Definition Fields.H:94
@ Bfield_aux
Definition Fields.H:94
@ pml_F_cp
Definition Fields.H:94
@ G_cp
Definition Fields.H:94
@ hybrid_E_fp_external
Definition Fields.H:94
@ phi_fp
Definition Fields.H:94
@ current_fp_vay
Definition Fields.H:94
@ pml_j_cp
Definition Fields.H:94
@ Efield_cp
Definition Fields.H:94
@ current_buf
Definition Fields.H:94
@ MassMatrices_X
Definition Fields.H:94
@ vector_potential_fp_nodal
Definition Fields.H:94
@ vector_potential_grad_buf_b_stag
Definition Fields.H:94
@ rho_cp
Definition Fields.H:94
@ Efield_fp
Definition Fields.H:94
@ ECTRhofield
Definition Fields.H:94
@ B_external_particle_field
Definition Fields.H:94
@ edge_lengths
Definition Fields.H:94
@ hybrid_B_fp_external
Definition Fields.H:94
@ Efield_fp_external
Definition Fields.H:94
@ face_areas
Definition Fields.H:94
@ None
Definition Fields.H:94
@ pml_F_fp
Definition Fields.H:94
@ G_fp
Definition Fields.H:94
@ rho_buf
Definition Fields.H:94
@ hybrid_current_fp_plasma
Definition Fields.H:94
@ hybrid_rho_fp_temp
Definition Fields.H:94
@ area_mod
Definition Fields.H:94
@ pml_B_cp
Definition Fields.H:94
@ Bfield_cax
Definition Fields.H:94
@ pml_j_fp
Definition Fields.H:94
@ hybrid_electron_pressure_fp
Definition Fields.H:94
@ current_store
Definition Fields.H:94
@ pml_B_fp
Definition Fields.H:94
@ current_fp
Definition Fields.H:94
@ distance_to_eb
Definition Fields.H:94
@ pml_E_cp
Definition Fields.H:94
@ Efield_fp_save
Definition Fields.H:94
@ rho_fp
Definition Fields.H:94
@ pml_edge_lengths
Definition Fields.H:94
@ MassMatrices_PC
Definition Fields.H:94
@ Bfield_cp
Definition Fields.H:94
@ Bfield_fp
Definition Fields.H:94
@ Venl
Definition Fields.H:94
@ Efield_cax
Definition Fields.H:94
@ F_cp
Definition Fields.H:94
@ Bfield_avg_cp
Definition Fields.H:94
@ Efield_avg_fp
Definition Fields.H:94
@ MassMatrices_Y
Definition Fields.H:94
@ pml_G_cp
Definition Fields.H:94
@ Bfield_fp_external
Definition Fields.H:94
@ Efield_avg_cp
Definition Fields.H:94
@ MassMatrices_Z
Definition Fields.H:94
@ pml_G_fp
Definition Fields.H:94
@ pml_E_fp
Definition Fields.H:94
@ Bfield_avg_fp
Definition Fields.H:94
@ E_external_particle_field
Definition Fields.H:94
@ global_debye_length
Definition Fields.H:94
@ vector_potential_fp
Definition Fields.H:94
@ current_fp_MM
Definition Fields.H:94
bool isFieldArray(const FieldType field_type)
Definition Fields.H:146