XGC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
moments.hpp
Go to the documentation of this file.
1 #ifndef MOMENTS_HPP
2 #define MOMENTS_HPP
3 
4 #include "grid.hpp"
6 #include "vgrid_distribution.hpp"
7 #include "plasma.hpp"
8 
9 struct Moments{
10  View<double**, CLayout, HostType> den_local;
11  View<double**, CLayout, HostType> upara_local;
12  View<double**, CLayout, HostType> uperp_local;
13  View<double**, CLayout, HostType> temp_local;
14  View<double**, CLayout, HostType> Kperp_local;
15  View<double**, CLayout, HostType> Kpara_local;
16  View<double**, CLayout, HostType> temp_para_local;
17 
18  View<double**, CLayout, HostType> den_all;
19  View<double**, CLayout, HostType> upara_all;
20  View<double**, CLayout, HostType> temp_all;
21  View<double**, CLayout, HostType> temp_perp_all;
22  View<double**, CLayout, HostType> temp_para_all;
23 
24  Moments(){}
25 
26  Moments(const Grid<DeviceType>& grid, const DomainDecomposition<DeviceType>& pol_decomp, const VelocityGrid& vgrid, Plasma& plasma, const VGridDistribution<DeviceType>& f, bool do_gather);
27 
29 
30  void gather(const DomainDecomposition<DeviceType>& pol_decomp);
31 };
32 
33 #endif
View< double **, CLayout, HostType > Kperp_local
perpendicular kinetic energy, , local to compute node [Nsp,Nlocalnode]
Definition: moments.hpp:14
Moments()
Definition: moments.hpp:24
View< double **, CLayout, HostType > temp_local
temperature, , local to compute node [Nsp,Nlocalnode]
Definition: moments.hpp:13
View< double **, CLayout, HostType > temp_all
temperature, , on all nodes [Nsp,Nnode]
Definition: moments.hpp:20
Definition: velocity_grid.hpp:8
View< double **, CLayout, HostType > upara_all
parallel bulk velocity, , on all nodes [Nsp,Nnode]
Definition: moments.hpp:19
subroutine plasma(grid, itr, p, dene_out, deni_out, Te_out, Ti_out, Vparai_out)
Calculate the plasma density, temperature, and parallel velocity for a point in triangle itr using pl...
Definition: neutral_totalf.F90:1224
Definition: moments.hpp:9
void calculate_moments_of_distribution(const VelocityGrid &vgrid, Plasma &plasma, const VGridDistribution< DeviceType > &f)
Definition: moments.cpp:47
View< double **, CLayout, HostType > den_all
density, , on all nodes [Nsp,Nnode]
Definition: moments.hpp:18
View< double **, CLayout, HostType > upara_local
parallel bulk velocity, local to compute node [Nsp,Nlocalnode]
Definition: moments.hpp:11
View< double **, CLayout, HostType > Kpara_local
parllel kinetic energy, , local to compute node [Nsp,Nlocalnode]
Definition: moments.hpp:15
Definition: vgrid_distribution.hpp:18
View< double **, CLayout, HostType > temp_perp_all
perpendicular kinetic energy, , on all nodes [Nsp,Nnode]
Definition: moments.hpp:21
View< double **, CLayout, HostType > den_local
density, local to compute node [Nsp,Nlocalnode]
Definition: moments.hpp:10
Definition: plasma.hpp:13
View< double **, CLayout, HostType > temp_para_local
parallel temperature, , local to compute node [Nsp,Nlocalnode]
Definition: moments.hpp:16
void gather(const DomainDecomposition< DeviceType > &pol_decomp)
Definition: moments.cpp:153
View< double **, CLayout, HostType > temp_para_all
parllel kinetic energy, , on all nodes [Nsp,Nnode]
Definition: moments.hpp:22
View< double **, CLayout, HostType > uperp_local
perpendicular bulk velocity, local to compute node [Nsp,Nlocalnode]
Definition: moments.hpp:12