10 template<
class Device, KinType KT>
22 View<double**,CLayout,HostType>
jpar_h;
32 View<double***,CLayout,Device,Kokkos::MemoryTraits<Kokkos::Unmanaged>>
den_rho_ff;
33 View<double***,CLayout,Device,Kokkos::MemoryTraits<Kokkos::Unmanaged>>
jpar_rho_ff;
40 : is_electrons(is_electrons),
41 use_current(use_current),
47 jpar_h(
"jpar_h", nphi, use_current ? nnode : 0),
48 jpar0_h(
"jpar0_h", use_current ? nnode : 0),
53 density(
"density", 1, nrho, nnode),
56 jpar(
"jpar", 1, nrho, use_current ? nnode : 0),
57 jpar_rho_ff((double*)(
jpar.data()), nrho+1, nphi, use_current ? nnode : 0)
73 int nphi = (sml.
is_XGCa ? 1 : 2);
77 #ifndef NO_FORTRAN_MODULES
84 if(!XGC_IO::is_present<double>(stream,
"edensity0")){
110 xgc_io.
write(stream);
void read_checkpoint_files(const XGC_IO_Stream &stream)
Definition: charge.hpp:82
Definition: charge.hpp:66
void write(const XGC_IO_Stream &stream) const
Definition: xgc_io.hpp:211
Definition: xgc_io.hpp:192
void set_cden00_1d_fort(int npsi00, double *cden00_1d_h)
View< double **, CLayout, HostType > jpar_h
Definition: charge.hpp:22
bool use_current
Whether the class will handle current in addition to charge density.
Definition: charge.hpp:15
static constexpr bool is_XGCa
Equivalent to the preprocessor flag for now.
Definition: sml.hpp:17
Charge(bool use_current, int nnode, int nphi, int nrho, int npsi00, bool is_electrons)
Definition: charge.hpp:39
static constexpr bool explicit_electromagnetic
Equivalent to the preprocessor flag for now.
Definition: sml.hpp:37
View< double *, CLayout, HostType > cden00_1d_h
Definition: charge.hpp:70
Charge< DeviceType, KinType::DriftKin > electron
Definition: charge.hpp:67
void read(const XGC_IO_Stream &stream)
Definition: xgc_io.hpp:227
View< double ***, CLayout, Device, Kokkos::MemoryTraits< Kokkos::Unmanaged > > den_rho_ff
Definition: charge.hpp:32
void add(const T &new_data)
Definition: xgc_io.hpp:199
View< double ***, CLayout, Device, Kokkos::MemoryTraits< Kokkos::Unmanaged > > jpar_rho_ff
Definition: charge.hpp:33
Definition: xgc_io.hpp:117
void reset_to_zero()
Definition: charge.hpp:60
bool is_electrons
Definition: charge.hpp:14
View< double *, CLayout, HostType > den00_1d_h
Definition: charge.hpp:20
GridField< Device, VarType::Scalar, PIT_GLOBAL, TorType::OnePlane, KT, SCATTER_TYPE_GLOBAL > density
Charge density distribution.
Definition: charge.hpp:28
Definition: xgc_io.hpp:24
View< double **, CLayout, HostType > den_f0_h
Definition: charge.hpp:25
UniformRange psi00
Definition: grid.hpp:169
Charge< DeviceType, KinType::GyroKin > ion
Definition: charge.hpp:68
View< double *, CLayout, HostType > jpar0_h
Definition: charge.hpp:23
View< double **, CLayout, HostType > density_h
Definition: charge.hpp:18
Definition: charge.hpp:11
GridField< Device, VarType::Scalar, PIT_GLOBAL, TorType::OnePlane, KT, SCATTER_TYPE_GLOBAL > jpar
Current density distribution.
Definition: charge.hpp:29
int nnode
Number of grid nodes.
Definition: grid.hpp:159
Charges(const Grid< DeviceType > &grid, const Simulation< DeviceType > &sml, int nrho)
Definition: charge.hpp:72
void write_checkpoint_files(const XGC_IO_Stream &stream) const
Definition: charge.hpp:100
View< double *, CLayout, HostType > density0_h
Definition: charge.hpp:19
Charge()
Definition: charge.hpp:36