24 template<KinType KT, PhiInterpType PIT>
33 int nnode = dest_view.extent(2);
34 int nrhop1 = dest_view.extent(0);
35 int nphi = dest_view.extent(1);
38 View<double***,CLayout,DeviceType,Kokkos::MemoryTraits<Kokkos::Unmanaged>> src_view((
double*)src_field.data(),nnode, nrhop1, nphi);
41 View<double***,CLayout,DeviceType> view_tmp(
NoInit(
"view_tmp"),src_view.layout());
45 Kokkos::parallel_for(
"var_transpose_in_place", Kokkos::RangePolicy<ExSpace>( 0, nnode), KOKKOS_LAMBDA(
const int inode){
46 for(
int irho=0; irho<nrhop1; irho++){
47 for(
int iphi=0; iphi<nphi; iphi++){
48 dest_view(irho, iphi, inode) = view_tmp(inode, irho, iphi);
Definition: magnetic_field.hpp:12
Definition: NamelistReader.hpp:199
Definition: plasma.hpp:13
Definition: species.hpp:63
void deep_copy(const Array< DataType, Device > &dest, const Array< DataType, Device2 > &src)
Definition: particles.hpp:310
void parallel_for(const std::string name, int n_ptl, Function func, Option option, HostAoSoA aosoa_h, DeviceAoSoA aosoa_d)
Definition: streamed_parallel_for.hpp:252
Definition: magnetic_field.F90:1
subroutine plasma(grid, itr, p, dene_out, deni_out, Te_out, Ti_out, Vparai_out, ignore_vacuum)
Calculate the plasma density, temperature, and parallel velocity for a point in triangle itr using pl...
Definition: neutral_totalf.F90:1541
void scatter(const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const GridField< DeviceType, VarType::Scalar, PIT, TorType::OnePlane, KT > &Ah_gf, const Species< DeviceType > &species, bool exclude_private, bool do_cv_adjustment, bool cv_full_weight, const Charge< DeviceType, KT > &charge)
Definition: scatter.cpp:232
void charge_offset_fullf_setup(NLReader::NamelistReader &nlr, const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, ElectricField< DeviceType > &electric_field, Plasma &plasma, const VelocityGrid &vgrid, const DomainDecomposition< DeviceType > &pol_decomp, Charges &charges)
Definition: scatter.cpp:103
void calculate_charge(const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, ElectricField< DeviceType > &electric_field, Charge< DeviceType, KT > &charge, Plasma &plasma, const VelocityGrid &vgrid, const DomainDecomposition< DeviceType > &pol_decomp, bool fullf_only)
Definition: scatter.cpp:16
void var_transpose_in_place(const View< double ***, CLayout, DeviceType > &dest_view, const GridField< DeviceType, VarType::Scalar, PIT_GLOBAL, TorType::OnePlane, KT, SCATTER_TYPE_GLOBAL > &src_field)
Definition: scatter.hpp:32
Kokkos::ViewAllocateWithoutInitializing NoInit
Definition: space_settings.hpp:69
Definition: charge.hpp:66
Definition: electric_field.hpp:76
Definition: grid_field.hpp:22
Definition: velocity_grid.hpp:8