XGCa
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, 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::Scalar, 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< DeviceTypepol_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, HostTypetmp_s
 
View< Field< VarType::Vector, PIT_GLOBAL > **, CLayout, HostTypetmp_v
 
View< Field< VarType::Scalar, PIT_GLOBAL > *, CLayout, HostTypetmp_s_full
 
View< Field< VarType::Vector, PIT_GLOBAL > *, CLayout, HostTypetmp_v_full
 

Constructor & Destructor Documentation

◆ PlaneFieldGatherer()

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

Member Function Documentation

◆ allgather_to_local_ranks()

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:
Here is the caller graph for this function:

◆ calculate_phi_ff_on_device()

template<typename GT0 , typename GT , typename GT2 >
void PlaneFieldGatherer::calculate_phi_ff_on_device ( const Simulation< DeviceType > &  sml,
const Grid< DeviceType > &  grid,
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:

◆ choose_tmp_nphi()

int PlaneFieldGatherer::choose_tmp_nphi ( )
inlineprivate

◆ copy_to_tmp_full() [1/2]

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:
Here is the caller graph for this function:

◆ copy_to_tmp_full() [2/2]

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:

◆ gather_phi_ff_on_device() [1/2]

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
Here is the call graph for this function:

◆ gather_phi_ff_on_device() [2/2]

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:

◆ which_tmp() [1/2]

template<typename FT >
View<FT**, CLayout,HostType>& PlaneFieldGatherer::which_tmp ( )
inlineprivate

◆ which_tmp() [2/2]

template<>
View< Field< VarType::Vector, PIT_GLOBAL > **, CLayout, HostType > & PlaneFieldGatherer::which_tmp ( )
inline

◆ which_tmp_full() [1/2]

template<typename FT >
View<FT*, CLayout,HostType>& PlaneFieldGatherer::which_tmp_full ( )
inlineprivate

◆ which_tmp_full() [2/2]

template<>
View< Field< VarType::Vector, PIT_GLOBAL > *, CLayout, HostType > & PlaneFieldGatherer::which_tmp_full ( )
inline

Member Data Documentation

◆ gather_near_field

bool PlaneFieldGatherer::gather_near_field
private

◆ gather_subset

bool PlaneFieldGatherer::gather_subset
private

◆ grid

const Grid<DeviceType> PlaneFieldGatherer::grid
private

◆ near_field_pid

int PlaneFieldGatherer::near_field_pid
private

◆ nnode

int PlaneFieldGatherer::nnode
private

◆ nplanes

int PlaneFieldGatherer::nplanes
private

◆ pol_decomp

const DomainDecomposition<DeviceType> PlaneFieldGatherer::pol_decomp
private

◆ tmp_nphi

int PlaneFieldGatherer::tmp_nphi
private

◆ tmp_s

View<Field<VarType::Scalar,PIT_GLOBAL>**, CLayout,HostType> PlaneFieldGatherer::tmp_s
private

◆ tmp_s_full

View<Field<VarType::Scalar,PIT_GLOBAL>*, CLayout,HostType> PlaneFieldGatherer::tmp_s_full
private

◆ tmp_v

View<Field<VarType::Vector,PIT_GLOBAL>**, CLayout,HostType> PlaneFieldGatherer::tmp_v
private

◆ tmp_v_full

View<Field<VarType::Vector,PIT_GLOBAL>*, CLayout,HostType> PlaneFieldGatherer::tmp_v_full
private

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