mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-26 21:25:36 -04:00
Add surf_num to bank datatype
This commit is contained in:
parent
1c155526e9
commit
d28967c801
3 changed files with 11 additions and 8 deletions
|
|
@ -172,6 +172,7 @@ public:
|
|||
double E;
|
||||
double wgt;
|
||||
int delayed_group;
|
||||
int surf_num;
|
||||
Type particle;
|
||||
int64_t parent_id;
|
||||
int64_t progeny_id;
|
||||
|
|
|
|||
|
|
@ -102,22 +102,23 @@ void initialize_mpi(MPI_Comm intracomm)
|
|||
|
||||
// Create bank datatype
|
||||
Particle::Bank b;
|
||||
MPI_Aint disp[8];
|
||||
MPI_Aint disp[9];
|
||||
MPI_Get_address(&b.r, &disp[0]);
|
||||
MPI_Get_address(&b.u, &disp[1]);
|
||||
MPI_Get_address(&b.E, &disp[2]);
|
||||
MPI_Get_address(&b.wgt, &disp[3]);
|
||||
MPI_Get_address(&b.delayed_group, &disp[4]);
|
||||
MPI_Get_address(&b.particle, &disp[5]);
|
||||
MPI_Get_address(&b.parent_id, &disp[6]);
|
||||
MPI_Get_address(&b.progeny_id, &disp[7]);
|
||||
for (int i = 7; i >= 0; --i) {
|
||||
MPI_Get_address(&b.surf_num, &disp[5]);
|
||||
MPI_Get_address(&b.particle, &disp[6]);
|
||||
MPI_Get_address(&b.parent_id, &disp[7]);
|
||||
MPI_Get_address(&b.progeny_id, &disp[8]);
|
||||
for (int i = 8; i >= 0; --i) {
|
||||
disp[i] -= disp[0];
|
||||
}
|
||||
|
||||
int blocks[] {3, 3, 1, 1, 1, 1, 1, 1};
|
||||
MPI_Datatype types[] {MPI_DOUBLE, MPI_DOUBLE, MPI_DOUBLE, MPI_DOUBLE, MPI_INT, MPI_INT, MPI_LONG, MPI_LONG};
|
||||
MPI_Type_create_struct(8, blocks, disp, types, &mpi::bank);
|
||||
int blocks[] {3, 3, 1, 1, 1, 1, 1, 1, 1};
|
||||
MPI_Datatype types[] {MPI_DOUBLE, MPI_DOUBLE, MPI_DOUBLE, MPI_DOUBLE, MPI_INT, MPI_INT, MPI_INT, MPI_LONG, MPI_LONG};
|
||||
MPI_Type_create_struct(9, blocks, disp, types, &mpi::bank);
|
||||
MPI_Type_commit(&mpi::bank);
|
||||
}
|
||||
#endif // OPENMC_MPI
|
||||
|
|
|
|||
|
|
@ -518,6 +518,7 @@ hid_t h5banktype() {
|
|||
H5Tinsert(banktype, "E", HOFFSET(Particle::Bank, E), H5T_NATIVE_DOUBLE);
|
||||
H5Tinsert(banktype, "wgt", HOFFSET(Particle::Bank, wgt), H5T_NATIVE_DOUBLE);
|
||||
H5Tinsert(banktype, "delayed_group", HOFFSET(Particle::Bank, delayed_group), H5T_NATIVE_INT);
|
||||
H5Tinsert(banktype, "surf_num", HOFFSET(Particle::Bank, surf_num), H5T_NATIVE_INT);
|
||||
H5Tinsert(banktype, "particle", HOFFSET(Particle::Bank, particle), H5T_NATIVE_INT);
|
||||
|
||||
H5Tclose(postype);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue