18 :
FLUDS(num_groups, num_angles, common_data.GetSPDS()),
19 common_data_(common_data)
35 int outb_face_counter,
75 <<
"Invalid number of outb_face_counter " << outb_face_counter
84 int nonlocal_psi_Gn_blockstride =
87 int index = nonlocal_psi_Gn_blockstride *
num_groups_ * n +
93 <<
" encountered in non-local outgoing Psi"
108 int cell_so_index,
int inc_face_counter,
int face_dof,
int g,
int n)
124 .upwind_dof_mapping[face_dof] *
140 .upwind_dof_mapping[face_dof] *
161 int nonlocal_psi_Gn_blockstride =
169 .second.second[face_dof];
171 int index = nonlocal_psi_Gn_blockstride *
num_groups_ * n +
183 int nonlocal_psi_Gn_blockstride =
193 .second.second[face_dof];
195 int index = nonlocal_psi_Gn_blockstride *
num_groups_ * n +
217 auto empty_vector = std::vector<std::vector<double>>(0);
220 empty_vector = std::vector<std::vector<double>>(0);
244 for (
size_t deplocI = 0; deplocI < num_loc_sucs; deplocI++)
256 num_grps * num_angles,
261 num_grps * num_angles,
270 for (
size_t prelocI = 0; prelocI < num_loc_deps; prelocI++)
288 for (
int prelocI = 0; prelocI < num_loc_deps; prelocI++)
292 uint64_t buff_size = num_nodes * num_grps * num_angles;
static void Exit(int error_code)
std::vector< size_t > local_psi_n_block_stride
std::vector< short * > so_cell_inco_face_face_category
size_t delayed_local_psi_stride
std::vector< INCOMING_FACE_INFO * > so_cell_inco_face_dof_indices
std::vector< size_t > local_psi_stride
size_t delayed_local_psi_max_elements
size_t num_face_categories
std::vector< std::pair< int, std::pair< int, std::vector< int > > > > nonlocal_inc_face_prelocI_slot_dof
std::vector< size_t > local_psi_max_elements
std::vector< std::pair< int, int > > nonlocal_outb_face_deplocI_slot
std::vector< std::pair< int, std::pair< int, std::vector< int > > > > delayed_nonlocal_inc_face_prelocI_slot_dof
std::vector< int > prelocI_face_dof_count
std::vector< int > delayed_prelocI_face_dof_count
std::vector< short * > so_cell_outb_face_face_category
std::vector< int * > so_cell_outb_face_slot_indices
size_t delayed_local_psi_Gn_block_stride
std::vector< int > deplocI_face_dof_count
double * NLOutgoingPsi(int outb_face_count, int face_dof, int n)
const AAH_FLUDSCommonData & common_data_
std::vector< std::vector< double > > deplocI_outgoing_psi_
void AllocateDelayedPrelocIOutgoingPsi(size_t num_grps, size_t num_angles, size_t num_loc_deps) override
std::vector< std::vector< double > > prelocI_outgoing_psi_
size_t delayed_local_psi_Gn_block_strideG
void AllocateDelayedLocalPsi(size_t num_grps, size_t num_angles) override
void AllocatePrelocIOutgoingPsi(size_t num_grps, size_t num_angles, size_t num_loc_deps) override
std::vector< double > & DelayedLocalPsiOld() override
std::vector< double > delayed_local_psi_
std::vector< std::vector< double > > delayed_prelocI_outgoing_psi_old_
size_t GetDelayedPrelocIFaceDOFCount(int prelocI) const
void ClearSendPsi() override
std::vector< std::vector< double > > & DelayedPrelocIOutgoingPsiOld() override
std::vector< std::vector< double > > & DelayedPrelocIOutgoingPsi() override
double * OutgoingPsi(int cell_so_index, int outb_face_counter, int face_dof, int n)
double * UpwindPsi(int cell_so_index, int inc_face_counter, int face_dof, int g, int n)
void ClearLocalAndReceivePsi() override
std::vector< size_t > local_psi_Gn_block_strideG
AAH_FLUDS(size_t num_groups, size_t num_angles, const AAH_FLUDSCommonData &common_data)
void AllocateOutgoingPsi(size_t num_grps, size_t num_angles, size_t num_loc_sucs) override
std::vector< double > & DelayedLocalPsi() override
size_t GetDeplocIFaceDOFCount(int deplocI) const
std::vector< std::vector< double > > local_psi_
std::vector< std::vector< double > > delayed_prelocI_outgoing_psi_
std::vector< std::vector< double > > & PrelocIOutgoingPsi() override
void AllocateInternalLocalPsi(size_t num_grps, size_t num_angles) override
size_t GetPrelocIFaceDOFCount(int prelocI) const
std::vector< double > delayed_local_psi_old_
double * NLUpwindPsi(int nonl_inc_face_counter, int face_dof, int g, int n)
std::vector< std::vector< double > > & DeplocIOutgoingPsi() override