diff --git a/acc/mhd_solver/stencil_definition.sdh b/acc/mhd_solver/stencil_definition.sdh index 3b945d9..39a9e10 100644 --- a/acc/mhd_solver/stencil_definition.sdh +++ b/acc/mhd_solver/stencil_definition.sdh @@ -15,14 +15,6 @@ uniform int AC_save_steps; uniform int AC_bin_steps; uniform int AC_bc_type; -// Added these here. Otherwise DSL does not recognize them -uniform int AC_nx_min; -uniform int AC_ny_min; -uniform int AC_nz_min; -uniform int AC_nx_max; -uniform int AC_ny_max; -uniform int AC_nz_max; - // Real params uniform Scalar AC_dt; // Spacing diff --git a/acc/mhd_solver/stencil_process.sps b/acc/mhd_solver/stencil_process.sps index 8c3f9a0..ba8bbb7 100644 --- a/acc/mhd_solver/stencil_process.sps +++ b/acc/mhd_solver/stencil_process.sps @@ -29,9 +29,9 @@ sink_gravity(int3 globalVertexIdx){ int accretion_switch = int(AC_switch_accretion); if (accretion_switch == 1){ Vector force_gravity; - const Vector grid_pos = (Vector){(globalVertexIdx.x - AC_nx_min) * AC_dsx, - (globalVertexIdx.y - AC_ny_min) * AC_dsy, - (globalVertexIdx.z - AC_nz_min) * AC_dsz}; + const Vector grid_pos = (Vector){(globalVertexIdx.x - DCONST(AC_nx_min)) * AC_dsx, + (globalVertexIdx.y - DCONST(AC_ny_min)) * AC_dsy, + (globalVertexIdx.z - DCONST(AC_nz_min)) * AC_dsz}; const Scalar sink_mass = AC_M_sink; const Vector sink_pos = (Vector){AC_sink_pos_x, AC_sink_pos_y, @@ -69,9 +69,9 @@ truelove_density(in ScalarField lnrho){ Scalar sink_accretion(int3 globalVertexIdx, in ScalarField lnrho, Scalar dt){ - const Vector grid_pos = (Vector){(globalVertexIdx.x - AC_nx_min) * AC_dsx, - (globalVertexIdx.y - AC_ny_min) * AC_dsy, - (globalVertexIdx.z - AC_nz_min) * AC_dsz}; + const Vector grid_pos = (Vector){(globalVertexIdx.x - DCONST(AC_nx_min)) * AC_dsx, + (globalVertexIdx.y - DCONST(AC_ny_min)) * AC_dsy, + (globalVertexIdx.z - DCONST(AC_nz_min)) * AC_dsz}; const Vector sink_pos = (Vector){AC_sink_pos_x, AC_sink_pos_y, AC_sink_pos_z}; @@ -112,9 +112,9 @@ sink_accretion(int3 globalVertexIdx, in ScalarField lnrho, Scalar dt){ Vector sink_accretion_velocity(int3 globalVertexIdx, in VectorField uu, Scalar dt) { - const Vector grid_pos = (Vector){(globalVertexIdx.x - AC_nx_min) * AC_dsx, - (globalVertexIdx.y - AC_ny_min) * AC_dsy, - (globalVertexIdx.z - AC_nz_min) * AC_dsz}; + const Vector grid_pos = (Vector){(globalVertexIdx.x - DCONST(AC_nx_min)) * AC_dsx, + (globalVertexIdx.y - DCONST(AC_ny_min)) * AC_dsy, + (globalVertexIdx.z - DCONST(AC_nz_min)) * AC_dsz}; const Vector sink_pos = (Vector){AC_sink_pos_x, AC_sink_pos_y, AC_sink_pos_z}; @@ -400,9 +400,9 @@ forcing(int3 globalVertexIdx, Scalar dt) Vector a = Scalar(.5) * (Vector){globalGridN.x * AC_dsx, globalGridN.y * AC_dsy, globalGridN.z * AC_dsz}; // source (origin) - Vector xx = (Vector){(globalVertexIdx.x - AC_nx_min) * AC_dsx, - (globalVertexIdx.y - AC_ny_min) * AC_dsy, - (globalVertexIdx.z - AC_nz_min) * AC_dsz}; // sink (current index) + Vector xx = (Vector){(globalVertexIdx.x - DCONST(AC_nx_min)) * AC_dsx, + (globalVertexIdx.y - DCONST(AC_ny_min)) * AC_dsy, + (globalVertexIdx.z - DCONST(AC_nz_min)) * AC_dsz}; // sink (current index) const Scalar cs2 = AC_cs2_sound; const Scalar cs = sqrt(cs2); diff --git a/include/astaroth_defines.h b/include/astaroth_defines.h index 02fbeef..58525ba 100644 --- a/include/astaroth_defines.h +++ b/include/astaroth_defines.h @@ -78,6 +78,12 @@ typedef struct { FUNC(AC_mx), \ FUNC(AC_my), \ FUNC(AC_mz), \ + FUNC(AC_nx_min), \ + FUNC(AC_ny_min), \ + FUNC(AC_nz_min), \ + FUNC(AC_nx_max), \ + FUNC(AC_ny_max), \ + FUNC(AC_nz_max), \ FUNC(AC_mxy),\ FUNC(AC_nxy),\ FUNC(AC_nxyz),\