XGC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
PlaneFieldGatherer Class Reference

#include <plane_field_gatherer.hpp>

Collaboration diagram for PlaneFieldGatherer:
Collaboration graph
[legend]

Public Member Functions

template<typename GT0 , typename GT , typename GT2 >
void calculate_phi_ff_on_device (const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, Smoothing &smoothing, GetPotentialGradTemp< DeviceType, DeviceType > &tmp, const View< Field< VarType::Scalar, PhiInterpType::None > *, CLayout, HostType > &dpot_h, const GT0 &pot0_h, GT &phi_ff, GT2 &pot_phi_ff, bool potential_is_requested=true, bool use_field00=false, bool ignore_poloidal_dpot=false)
 
 PlaneFieldGatherer (const DomainDecomposition< DeviceType > &pol_decomp, const Grid< DeviceType > &grid, bool near_field=false)
 
template<typename T_h , typename FT >
void gather_phi_ff_on_device (const T_h &rho_ff_h, View< FT **, CLayout, DeviceType > &phi_ff)
 
template<>
View< Field< VarType::Scalar,
PIT_GLOBAL > **, CLayout,
HostType > & 
which_tmp ()
 
template<>
View< Field< VarType::Vector,
PIT_GLOBAL > **, CLayout,
HostType > & 
which_tmp ()
 
template<>
View< Field< VarType::Scalar,
PIT_GLOBAL > *, CLayout,
HostType > & 
which_tmp_full ()
 
template<>
View< Field< VarType::Vector,
PIT_GLOBAL > *, CLayout,
HostType > & 
which_tmp_full ()
 

Private Member Functions

int choose_tmp_nphi ()
 
template<typename T , typename FT >
void allgather_to_local_ranks (View< FT *, CLayout, HostType > &tmp_full, T *destination)
 
template<typename FT >
void copy_to_tmp_full (View< FT *, CLayout, HostType > &tmp_full, const View< FT **, CLayout, HostType > &rho_ff_h)
 
template<typename FT >
void copy_to_tmp_full (View< FT *, CLayout, HostType > &tmp_full, const View< FT *, CLayout, HostType > &ff_h)
 
template<typename T_h , typename FT >
void gather_phi_ff_on_device (View< FT **, CLayout, HostType > &tmp, View< FT *, CLayout, HostType > &tmp_full, const T_h &rho_ff_h, View< FT **, CLayout, DeviceType > &phi_ff)
 
template<typename FT >
View< FT **, CLayout, HostType > & which_tmp ()
 
template<typename FT >
View< FT *, CLayout, HostType > & which_tmp_full ()
 

Private Attributes

const DomainDecomposition
< DeviceType
pol_decomp
 
const Grid< DeviceTypegrid
 
bool gather_subset
 
bool gather_near_field
 
int near_field_pid
 
int nplanes
 
int nnode
 
int tmp_nphi
 
View< Field< VarType::Scalar,
PIT_GLOBAL > **, CLayout,
HostType
tmp_s
 
View< Field< VarType::Vector,
PIT_GLOBAL > **, CLayout,
HostType
tmp_v
 
View< Field< VarType::Scalar,
PIT_GLOBAL > *, CLayout,
HostType
tmp_s_full
 
View< Field< VarType::Vector,
PIT_GLOBAL > *, CLayout,
HostType
tmp_v_full
 

Constructor & Destructor Documentation

PlaneFieldGatherer::PlaneFieldGatherer ( const DomainDecomposition< DeviceType > &  pol_decomp,
const Grid< DeviceType > &  grid,
bool  near_field = false 
)
inline

Member Function Documentation

template<typename T , typename FT >
void PlaneFieldGatherer::allgather_to_local_ranks ( View< FT *, CLayout, HostType > &  tmp_full,
T *  destination 
)
inlineprivate

Here is the call graph for this function:

template<typename GT0 , typename GT , typename GT2 >
void PlaneFieldGatherer::calculate_phi_ff_on_device ( const Simulation< DeviceType > &  sml,
const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
Smoothing smoothing,
GetPotentialGradTemp< DeviceType, DeviceType > &  tmp,
const View< Field< VarType::Scalar, PhiInterpType::None > *, CLayout, HostType > &  dpot_h,
const GT0 &  pot0_h,
GT &  phi_ff,
GT2 &  pot_phi_ff,
bool  potential_is_requested = true,
bool  use_field00 = false,
bool  ignore_poloidal_dpot = false 
)
inline

Here is the call graph for this function:

Here is the caller graph for this function:

int PlaneFieldGatherer::choose_tmp_nphi ( )
inlineprivate
template<typename FT >
void PlaneFieldGatherer::copy_to_tmp_full ( View< FT *, CLayout, HostType > &  tmp_full,
const View< FT **, CLayout, HostType > &  rho_ff_h 
)
inlineprivate

Here is the call graph for this function:

template<typename FT >
void PlaneFieldGatherer::copy_to_tmp_full ( View< FT *, CLayout, HostType > &  tmp_full,
const View< FT *, CLayout, HostType > &  ff_h 
)
inlineprivate

Here is the call graph for this function:

template<typename T_h , typename FT >
void PlaneFieldGatherer::gather_phi_ff_on_device ( View< FT **, CLayout, HostType > &  tmp,
View< FT *, CLayout, HostType > &  tmp_full,
const T_h &  rho_ff_h,
View< FT **, CLayout, DeviceType > &  phi_ff 
)
inlineprivate

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename T_h , typename FT >
void PlaneFieldGatherer::gather_phi_ff_on_device ( const T_h &  rho_ff_h,
View< FT **, CLayout, DeviceType > &  phi_ff 
)
inline
template<typename FT >
View<FT**, CLayout,HostType>& PlaneFieldGatherer::which_tmp ( )
inlineprivate
template<>
View<Field<VarType::Scalar,PIT_GLOBAL>**, CLayout,HostType>& PlaneFieldGatherer::which_tmp ( )
inline
template<>
View<Field<VarType::Vector,PIT_GLOBAL>**, CLayout,HostType>& PlaneFieldGatherer::which_tmp ( )
inline
template<typename FT >
View<FT*, CLayout,HostType>& PlaneFieldGatherer::which_tmp_full ( )
inlineprivate
template<>
View<Field<VarType::Scalar,PIT_GLOBAL>*, CLayout,HostType>& PlaneFieldGatherer::which_tmp_full ( )
inline
template<>
View<Field<VarType::Vector,PIT_GLOBAL>*, CLayout,HostType>& PlaneFieldGatherer::which_tmp_full ( )
inline

Member Data Documentation

bool PlaneFieldGatherer::gather_near_field
private
bool PlaneFieldGatherer::gather_subset
private
const Grid<DeviceType> PlaneFieldGatherer::grid
private
int PlaneFieldGatherer::near_field_pid
private
int PlaneFieldGatherer::nnode
private
int PlaneFieldGatherer::nplanes
private
const DomainDecomposition<DeviceType> PlaneFieldGatherer::pol_decomp
private
int PlaneFieldGatherer::tmp_nphi
private
View<Field<VarType::Scalar,PIT_GLOBAL>**, CLayout,HostType> PlaneFieldGatherer::tmp_s
private
View<Field<VarType::Scalar,PIT_GLOBAL>*, CLayout,HostType> PlaneFieldGatherer::tmp_s_full
private
View<Field<VarType::Vector,PIT_GLOBAL>**, CLayout,HostType> PlaneFieldGatherer::tmp_v
private
View<Field<VarType::Vector,PIT_GLOBAL>*, CLayout,HostType> PlaneFieldGatherer::tmp_v_full
private

The documentation for this class was generated from the following file: