XGCa
|
#include <gyro_avg_mat.hpp>
Public Member Functions | |
GyroAverageMatrices () | |
GyroAverageMatrices (NLReader::NamelistReader &nlr, const Grid< DeviceType > &grid, const DomainDecomposition< DeviceType > &pol_decomp, const MagneticField< DeviceType > &magnetic_field, bool is_field_following, int n_larmor_pts, int nrho_in, double rhomax_in) | |
void | copy_matrices_to_device () |
void | copy_to_device_if_not_resident () |
void | deallocate_device_matrices_if_not_resident () |
GyroCommMethod | read_gyro_comm_method (NLReader::NamelistReader &nlr) const |
void | init_one_gyro_avg_mat (const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, Matrix< HostType > &matrix, int iphi, int irho, bool is_field_following, int n_larmor_pts) |
void | gyroaverage_field (const Grid< DeviceType > &grid, const View< double ***, CLayout, DeviceType > &field_rho, const View< double **, CLayout, HostType > &field) const |
void | get_pot_mat_mult (const View< double ***, CLayout, DeviceType > &field_rho, const View< double ****, CLayout, DeviceType > &gradient_rho, const View< double ***, CLayout, DeviceType > &E_para_em, bool potential_requested, bool gradient_requested, bool E_para_em_requested) const |
void | broadcast_potentials (const View< double ***, CLayout, DeviceType > &potential_rho, const View< double ****, CLayout, DeviceType > &gradient_rho, const View< double ***, CLayout, DeviceType > &E_para_em, bool potential_requested, bool gradient_requested, bool E_para_em_requested) const |
void | get_gyroaveraged (const View< double ***, CLayout, DeviceType > &field_rho, const View< double ****, CLayout, DeviceType > &gradient_rho, const View< double ***, CLayout, DeviceType > &E_para_em, bool potential_requested, bool gradient_requested, bool E_para_em_requested) const |
void | gyroaverage_moments (const View< double **, CLayout, DeviceType > &density_rho, const View< double **, CLayout, DeviceType > &flow_rho, const View< double **, CLayout, DeviceType > &energy_rho, const View< double **, CLayout, DeviceType > &density_f0g_rho, const View< double *, CLayout, DeviceType > &density, const View< double *, CLayout, DeviceType > &flow, const View< double *, CLayout, DeviceType > &energy, const View< double *, CLayout, DeviceType > &density_f0g) |
int | find_a_plane_rank_with_last_gyromatrix () const |
void | iterative_gyroaverage (Matrix< DeviceType > &gyromatrix, bool print_residual, View< double *, CLayout, DeviceType > &view) const |
void | smooth_with_last_gyroaverage (bool print_residual, View< double *, CLayout, DeviceType > &delta_n) const |
Public Attributes | |
HostArray< Matrix< Device > > | matrices |
HostArray< Matrix< HostType > > | matrices_h |
int | nrho |
double | rhomax |
double | inv_drho |
int | nphi |
GyroCommMethod | gyro_comm_method |
bool | resident_on_device |
TaskGroup | task_group |
|
inline |
template GyroAverageMatrices< Device >::GyroAverageMatrices | ( | NLReader::NamelistReader & | nlr, |
const Grid< DeviceType > & | grid, | ||
const DomainDecomposition< DeviceType > & | pol_decomp, | ||
const MagneticField< DeviceType > & | magnetic_field, | ||
bool | is_field_following, | ||
int | n_larmor_pts, | ||
int | nrho_in, | ||
double | rhomax_in | ||
) |
void GyroAverageMatrices< Device >::broadcast_potentials | ( | const View< double ***, CLayout, DeviceType > & | potential_rho, |
const View< double ****, CLayout, DeviceType > & | gradient_rho, | ||
const View< double ***, CLayout, DeviceType > & | E_para_em, | ||
bool | potential_requested, | ||
bool | gradient_requested, | ||
bool | E_para_em_requested | ||
) | const |
|
inline |
|
inline |
|
inline |
template int GyroAverageMatrices< Device >::find_a_plane_rank_with_last_gyromatrix | ( | ) | const |
void GyroAverageMatrices< Device >::get_gyroaveraged | ( | const View< double ***, CLayout, DeviceType > & | field_rho, |
const View< double ****, CLayout, DeviceType > & | gradient_rho, | ||
const View< double ***, CLayout, DeviceType > & | E_para_em, | ||
bool | potential_requested, | ||
bool | gradient_requested, | ||
bool | E_para_em_requested | ||
) | const |
void GyroAverageMatrices< Device >::get_pot_mat_mult | ( | const View< double ***, CLayout, DeviceType > & | field_rho, |
const View< double ****, CLayout, DeviceType > & | gradient_rho, | ||
const View< double ***, CLayout, DeviceType > & | E_para_em, | ||
bool | potential_requested, | ||
bool | gradient_requested, | ||
bool | E_para_em_requested | ||
) | const |
void GyroAverageMatrices< Device >::gyroaverage_field | ( | const Grid< DeviceType > & | grid, |
const View< double ***, CLayout, DeviceType > & | field_rho, | ||
const View< double **, CLayout, HostType > & | field | ||
) | const |
void GyroAverageMatrices< Device >::gyroaverage_moments | ( | const View< double **, CLayout, DeviceType > & | density_rho, |
const View< double **, CLayout, DeviceType > & | flow_rho, | ||
const View< double **, CLayout, DeviceType > & | energy_rho, | ||
const View< double **, CLayout, DeviceType > & | density_f0g_rho, | ||
const View< double *, CLayout, DeviceType > & | density, | ||
const View< double *, CLayout, DeviceType > & | flow, | ||
const View< double *, CLayout, DeviceType > & | energy, | ||
const View< double *, CLayout, DeviceType > & | density_f0g | ||
) |
template void GyroAverageMatrices< Device >::init_one_gyro_avg_mat | ( | const Grid< DeviceType > & | grid, |
const MagneticField< DeviceType > & | magnetic_field, | ||
Matrix< HostType > & | matrix, | ||
int | iphi, | ||
int | irho, | ||
bool | is_field_following, | ||
int | n_larmor_pts | ||
) |
template void GyroAverageMatrices< Device >::iterative_gyroaverage | ( | Matrix< DeviceType > & | gyromatrix, |
bool | print_residual, | ||
View< double *, CLayout, DeviceType > & | view | ||
) | const |
GyroCommMethod GyroAverageMatrices< Device >::read_gyro_comm_method | ( | NLReader::NamelistReader & | nlr | ) | const |
template void GyroAverageMatrices< Device >::smooth_with_last_gyroaverage | ( | bool | print_residual, |
View< double *, CLayout, DeviceType > & | delta_n | ||
) | const |
GyroCommMethod GyroAverageMatrices< Device >::gyro_comm_method |
double GyroAverageMatrices< Device >::inv_drho |
HostArray<Matrix<Device> > GyroAverageMatrices< Device >::matrices |
HostArray<Matrix<HostType> > GyroAverageMatrices< Device >::matrices_h |
int GyroAverageMatrices< Device >::nphi |
int GyroAverageMatrices< Device >::nrho |
bool GyroAverageMatrices< Device >::resident_on_device |
double GyroAverageMatrices< Device >::rhomax |
TaskGroup GyroAverageMatrices< Device >::task_group |