8 template<
class Device, KinType KT>
21 View<double**,CLayout,HostType>
jpar_h;
31 View<double***,CLayout,Device,Kokkos::MemoryTraits<Kokkos::Unmanaged>>
den_rho_ff;
32 View<double***,CLayout,Device,Kokkos::MemoryTraits<Kokkos::Unmanaged>>
jpar_rho_ff;
44 density00_h(
"density00_h", use_fsa_den ? nnode : 0),
53 density(
"density", 1, nrho, nnode),
77 :
electron(sml.explicit_electromagnetic, grid.nnode, (sml.is_XGCa ? 1 : 2), 0, grid.psi00.n, !grid.axisymmetric,
true),
78 ion( sml.explicit_electromagnetic, grid.nnode, (sml.is_XGCa ? 1 : 2), nrho, grid.psi00.n, !grid.axisymmetric,
false),
85 bool is_present_edensity0 = XGC_IO::is_present<double>(stream,
"edensity0");
86 bool is_present_rhs_offset0 = XGC_IO::is_present<double>(stream,
"rhs_offset0");
88 if(!is_present_edensity0 && !is_present_rhs_offset0){
95 if(is_present_edensity0){
100 else if(is_present_rhs_offset0){
119 xgc_io.
write(stream);
View< double *, CLayout, HostType > density0_h
Definition: charge.hpp:17
View< double *, CLayout, HostType > density00_h
3D flux-surface averaged density
Definition: charge.hpp:18
View< double ***, CLayout, Device, Kokkos::MemoryTraits< Kokkos::Unmanaged > > den_rho_ff
Definition: charge.hpp:31
bool is_electrons
Definition: charge.hpp:12
View< double **, CLayout, HostType > density_h
Definition: charge.hpp:16
GridField< Device, VarType::Scalar, PIT_GLOBAL, TorType::OnePlane, KT, SCATTER_TYPE_GLOBAL > density
Charge density distribution.
Definition: charge.hpp:27
bool use_current
Whether the class will handle current in addition to charge density.
Definition: charge.hpp:13
View< double *, CLayout, HostType > den00_1d_h
Definition: charge.hpp:19
View< double **, CLayout, HostType > den_f0_h
Definition: charge.hpp:24
GridField< Device, VarType::Scalar, PIT_GLOBAL, TorType::OnePlane, KT, SCATTER_TYPE_GLOBAL > jpar
Current density distribution.
Definition: charge.hpp:28
void reset_to_zero()
Definition: charge.hpp:60
Charge()
Definition: charge.hpp:35
Charge(bool use_current, int nnode, int nphi, int nrho, int npsi00, bool use_fsa_den, bool is_electrons)
Definition: charge.hpp:38
View< double **, CLayout, HostType > jpar_h
Definition: charge.hpp:21
View< double ***, CLayout, Device, Kokkos::MemoryTraits< Kokkos::Unmanaged > > jpar_rho_ff
Definition: charge.hpp:32
View< double *, CLayout, HostType > jpar0_h
Definition: charge.hpp:22
Definition: xgc_io.hpp:24
Definition: xgc_io.hpp:192
void add(const T &new_data)
Definition: xgc_io.hpp:199
void read(const XGC_IO_Stream &stream)
Definition: xgc_io.hpp:227
void write(const XGC_IO_Stream &stream) const
Definition: xgc_io.hpp:211
logical false
Definition: module.F90:102
logical true
Definition: module.F90:102
Definition: charge.hpp:66
Charge< DeviceType, KinType::GyroKin > ion
Definition: charge.hpp:68
Charges()
Definition: charge.hpp:74
void read_checkpoint_files(const XGC_IO_Stream &stream)
Definition: charge.hpp:83
Charge< DeviceType, KinType::DriftKin > electron
Definition: charge.hpp:67
void write_checkpoint_files(const XGC_IO_Stream &stream) const
Definition: charge.hpp:110
View< double *, CLayout, HostType > cden00_1d_h
Definition: charge.hpp:72
Charges(const Grid< DeviceType > &grid, const Simulation< DeviceType > &sml, int nrho)
Definition: charge.hpp:76
View< double *, CLayout, HostType > rhs_offset0_h
Axisymmetric RHS offset for solving Poisson equation – replacing edensity0 for full-f.
Definition: charge.hpp:70
Definition: xgc_io.hpp:117