Made ETICS blocks work with the vector structures
This commit is contained in:
parent
54231b8537
commit
b6c55a30da
1 changed files with 5 additions and 5 deletions
10
phigrape.cpp
10
phigrape.cpp
|
|
@ -184,7 +184,7 @@ public:
|
||||||
#ifdef ETICS
|
#ifdef ETICS
|
||||||
if (grapite_active_search_flag) {
|
if (grapite_active_search_flag) {
|
||||||
int n_act_loc;
|
int n_act_loc;
|
||||||
grapite_active_search(min_t, ind_act_loc, &n_act_loc);
|
grapite_active_search(min_t, ind_act_loc.data(), &n_act_loc);
|
||||||
if (myRank > 0)
|
if (myRank > 0)
|
||||||
for (int i=0; i<n_act_loc; i++)
|
for (int i=0; i<n_act_loc; i++)
|
||||||
ind_act_loc[i] += myRank*n_loc;
|
ind_act_loc[i] += myRank*n_loc;
|
||||||
|
|
@ -196,7 +196,7 @@ public:
|
||||||
displs[0] = 0;
|
displs[0] = 0;
|
||||||
for (int i=1; i<n_proc; i++)
|
for (int i=1; i<n_proc; i++)
|
||||||
displs[i]=displs[i-1]+n_act_arr[i-1];
|
displs[i]=displs[i-1]+n_act_arr[i-1];
|
||||||
MPI_Allgatherv(ind_act_loc, n_act_loc, MPI_INT, ind_act, n_act_arr, displs, MPI_INT, MPI_COMM_WORLD);
|
MPI_Allgatherv(ind_act_loc.data(), n_act_loc, MPI_INT, ind_act.data(), n_act_arr, displs, MPI_INT, MPI_COMM_WORLD);
|
||||||
} else
|
} else
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
|
|
@ -396,14 +396,14 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
#ifdef ETICS
|
#ifdef ETICS
|
||||||
double etics_length_scale;
|
double etics_length_scale;
|
||||||
if (myRank == rootRank) etics_length_scale = grapite_get_length_scale(N, m, (double(*)[3])x, (double(*)[3])v); // We don't want all ranks to do it, because they need to write a file and might confuse each other
|
if (myRank == rootRank) etics_length_scale = grapite_get_length_scale(N, m.data(), (double(*)[3])x.data(), (double(*)[3])v.data()); // We don't want all ranks to do it, because they need to write a file and might confuse each other
|
||||||
MPI_Bcast(&etics_length_scale, 1, MPI_DOUBLE, rootRank, MPI_COMM_WORLD);
|
MPI_Bcast(&etics_length_scale, 1, MPI_DOUBLE, rootRank, MPI_COMM_WORLD);
|
||||||
grapite_set_length_scale(etics_length_scale);
|
grapite_set_length_scale(etics_length_scale);
|
||||||
|
|
||||||
int grapite_cep_index = grapite_get_cep_index();
|
int grapite_cep_index = grapite_get_cep_index();
|
||||||
if (grapite_cep_index >= 0) {
|
if (grapite_cep_index >= 0) {
|
||||||
double3 xcm, vcm, xdc, vdc;
|
double3 xcm, vcm, xdc, vdc;
|
||||||
grapite_calc_center(N, m, (double(*)[3])x, (double(*)[3])v, xcm, vcm, xdc, vdc);
|
grapite_calc_center(N, m.data(), (double(*)[3])x.data(), (double(*)[3])v.data(), xcm, vcm, xdc, vdc);
|
||||||
x[grapite_cep_index] = xdc;
|
x[grapite_cep_index] = xdc;
|
||||||
v[grapite_cep_index] = vdc;
|
v[grapite_cep_index] = vdc;
|
||||||
grapite_update_cep(time_cur, xdc, vdc, zeros, zeros);
|
grapite_update_cep(time_cur, xdc, vdc, zeros, zeros);
|
||||||
|
|
@ -447,7 +447,7 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
if (grapite_cep_index >= 0) {
|
if (grapite_cep_index >= 0) {
|
||||||
double3 xcm, vcm, xdc, vdc;
|
double3 xcm, vcm, xdc, vdc;
|
||||||
grapite_calc_center(N, m, (double(*)[3])x, (double(*)[3])v, xcm, vcm, xdc, vdc);
|
grapite_calc_center(N, m.data(), (double(*)[3])x.data(), (double(*)[3])v.data(), xcm, vcm, xdc, vdc);
|
||||||
x[grapite_cep_index] = xdc;
|
x[grapite_cep_index] = xdc;
|
||||||
v[grapite_cep_index] = vdc;
|
v[grapite_cep_index] = vdc;
|
||||||
grapite_update_cep(time_cur, xdc, vdc, a[grapite_cep_index], adot[grapite_cep_index]);
|
grapite_update_cep(time_cur, xdc, vdc, a[grapite_cep_index], adot[grapite_cep_index]);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue