XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
push.hpp
Go to the documentation of this file.
1 #ifndef PUSH_HPP
2 #define PUSH_HPP
3 
4 #include "sml.hpp"
5 #include "magnetic_field.hpp"
6 #include "grid.hpp"
7 #include "electric_field.hpp"
8 #include "species.hpp"
9 #include "perturbed_B_field.hpp"
10 #include "gen_perm.hpp"
11 #include "pushe_diagnostics.hpp"
12 #include "sheath.hpp"
13 #include "neutrals.hpp"
14 #include "charge.hpp"
15 #include "domain_decomposition.hpp"
16 
17 template<KinType KT>
18 void templated_push(const int ipc,const bool diag_on, const Simulation<DeviceType> &sml, const Grid<DeviceType> &grid,
20  const ElectricField<DeviceType> &electric_field, const PerturbedBField<DeviceType> &perturbed_B_field,
21  const Sheath<DeviceType> &sheath, const SheathParticles<DeviceType> &sheath_particles,
23  const Charge<DeviceType> &charge, const HeatDiagnostics<DeviceType> &heat_diag );
24 
25 void push(int ipc, int istep, int isp, bool diag_on, FortranPtr psn_fptr, FortranPtr spall_fptr, const Simulation<DeviceType> &sml, const Grid<DeviceType> &grid,
27  ElectricField<DeviceType> &electric_field, const PerturbedBField<DeviceType> &perturbed_B_field,
28  const Sheath<DeviceType> &sheath, SheathParticles<DeviceType> &sheath_particles,
30  const Charge<DeviceType> &charge, const HeatDiagnostics<DeviceType> &heat_diag, const GeneratePermutation<DeviceType> &pid_gen_perm,
31  const DomainDecomposition<DeviceType> &pol_decomp );
32 
33 
35  const PerturbedBField<DeviceType> &perturbed_B_field, const Sheath<DeviceType> &sheath,
36  SheathParticles<DeviceType> &sheath_particles, const Neutrals<DeviceType> &neutrals, const Diagnostics<DeviceType> &diag,
37  const Charge<DeviceType> &charge, const HeatDiagnostics<DeviceType> &heat_diag);
38 
40  const SheathParticles<DeviceType> &sheath_particles, const Neutrals<DeviceType> &neutrals, const Diagnostics<DeviceType> &diag,
41  const Charge<DeviceType> &charge, const HeatDiagnostics<DeviceType> &heat_diag);
42 
43 void setup_sheath_mode_2(SheathParticles<DeviceType> &sheath_particles, int n_tmp);
44 
45 void copy_grid_fields_to_device(FortranPtr psn_fptr, ElectricField<DeviceType> &electric_field, int isp, bool electron_on);
46 
47 #endif
Definition: heat_diagnostics.hpp:7
Definition: perturbed_B_field.hpp:12
int * FortranPtr
Definition: globals.hpp:80
Definition: sml.hpp:8
Definition: magnetic_field.hpp:9
void copy_grid_fields_to_device(FortranPtr psn_fptr, ElectricField< DeviceType > &electric_field, int isp, bool electron_on)
Definition: push.cpp:369
Definition: electric_field.hpp:35
Definition: grid.hpp:10
void push(int ipc, int istep, int isp, bool diag_on, FortranPtr psn_fptr, FortranPtr spall_fptr, const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, Species< DeviceType > &species, TmpSpecies< DeviceType > &tmp_species, ElectricField< DeviceType > &electric_field, const PerturbedBField< DeviceType > &perturbed_B_field, const Sheath< DeviceType > &sheath, SheathParticles< DeviceType > &sheath_particles, const Neutrals< DeviceType > &neutrals, const GeneratePermutation< DeviceType > &gen_perm, const Diagnostics< DeviceType > &diag, const Charge< DeviceType > &charge, const HeatDiagnostics< DeviceType > &heat_diag, const GeneratePermutation< DeviceType > &pid_gen_perm, const DomainDecomposition< DeviceType > &pol_decomp)
Definition: push.cpp:144
void setup_sheath_mode_2(SheathParticles< DeviceType > &sheath_particles, int n_tmp)
Definition: push.cpp:225
Definition: sheath.hpp:16
Definition: neutrals.hpp:6
subroutine gen_perm(ilo, ihi, jlo, jhi, guess_min, inv_guess_d, n, gid, x, y, iperm)
Definition: gen_perm.F90:1
void templated_push(const int ipc, const bool diag_on, const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const Species< DeviceType > &species, const TmpSpecies< DeviceType > &tmp_species, const ElectricField< DeviceType > &electric_field, const PerturbedBField< DeviceType > &perturbed_B_field, const Sheath< DeviceType > &sheath, const SheathParticles< DeviceType > &sheath_particles, const Neutrals< DeviceType > &neutrals, const GeneratePermutation< DeviceType > &gen_perm, const Diagnostics< DeviceType > &diag, const Charge< DeviceType > &charge, const HeatDiagnostics< DeviceType > &heat_diag)
Definition: push.cpp:58
Definition: magnetic_field.F90:1
Definition: domain_decomposition.hpp:7
Definition: sheath.hpp:42
Definition: species.hpp:13
Definition: charge.hpp:9
void copy_push_updates_from_device(FortranPtr psn_fptr, const Simulation< DeviceType > &sml, const Sheath< DeviceType > &sheath, const SheathParticles< DeviceType > &sheath_particles, const Neutrals< DeviceType > &neutrals, const Diagnostics< DeviceType > &diag, const Charge< DeviceType > &charge, const HeatDiagnostics< DeviceType > &heat_diag)
Definition: push.cpp:386
Definition: species.hpp:71
Definition: pushe_diagnostics.hpp:9
Definition: gen_perm.hpp:8
void copy_push_requisites_to_device(const Simulation< DeviceType > &sml, const PerturbedBField< DeviceType > &perturbed_B_field, const Sheath< DeviceType > &sheath, SheathParticles< DeviceType > &sheath_particles, const Neutrals< DeviceType > &neutrals, const Diagnostics< DeviceType > &diag, const Charge< DeviceType > &charge, const HeatDiagnostics< DeviceType > &heat_diag)
Definition: push.cpp:232