diff options
author | 2023-02-03 18:35:05 +0100 | |
---|---|---|
committer | 2023-02-03 09:35:05 -0800 | |
commit | db3ab2b931eaf345bfc9d5b3d52efba1f298f26b (patch) | |
tree | 8f6596f4148ca54822c18523a76c18cb34a5a56d /Source/FieldSolver/FiniteDifferenceSolver | |
parent | 1782fd31d363bfb922a987fa8ea8045255b139d1 (diff) | |
download | WarpX-db3ab2b931eaf345bfc9d5b3d52efba1f298f26b.tar.gz WarpX-db3ab2b931eaf345bfc9d5b3d52efba1f298f26b.tar.zst WarpX-db3ab2b931eaf345bfc9d5b3d52efba1f298f26b.zip |
fix some issues in WarpX 1D (#3671)
Diffstat (limited to 'Source/FieldSolver/FiniteDifferenceSolver')
-rw-r--r-- | Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.cpp | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.cpp b/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.cpp index 0bd063beb..01a89c0a2 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.cpp +++ b/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.cpp @@ -218,17 +218,25 @@ MacroscopicProperties::InitializeMacroMultiFabUsingParser ( amrex::ParallelFor (tb, [=] AMREX_GPU_DEVICE (int i, int j, int k) { // Shift x, y, z position based on index type - amrex::Real fac_x = (1._rt - iv[0]) * dx_lev[0] * 0.5_rt; - amrex::Real x = i * dx_lev[0] + real_box.lo(0) + fac_x; -#if defined(WARPX_DIM_XZ) || defined(WARPX_DIM_RZ) - amrex::Real y = 0._rt; - amrex::Real fac_z = (1._rt - iv[1]) * dx_lev[1] * 0.5_rt; - amrex::Real z = j * dx_lev[1] + real_box.lo(1) + fac_z; + +#if defined(WARPX_DIM_1D_Z) + const amrex::Real x = 0._rt; + const amrex::Real y = 0._rt; + const amrex::Real fac_z = (1._rt - iv[0]) * dx_lev[0] * 0.5_rt; + const amrex::Real z = j * dx_lev[0] + real_box.lo(0) + fac_z; +#elif defined(WARPX_DIM_XZ) || defined(WARPX_DIM_RZ) + const amrex::Real fac_x = (1._rt - iv[0]) * dx_lev[0] * 0.5_rt; + const amrex::Real x = i * dx_lev[0] + real_box.lo(0) + fac_x; + const amrex::Real y = 0._rt; + const amrex::Real fac_z = (1._rt - iv[1]) * dx_lev[1] * 0.5_rt; + const amrex::Real z = j * dx_lev[1] + real_box.lo(1) + fac_z; #else - amrex::Real fac_y = (1._rt - iv[1]) * dx_lev[1] * 0.5_rt; - amrex::Real y = j * dx_lev[1] + real_box.lo(1) + fac_y; - amrex::Real fac_z = (1._rt - iv[2]) * dx_lev[2] * 0.5_rt; - amrex::Real z = k * dx_lev[2] + real_box.lo(2) + fac_z; + const amrex::Real fac_x = (1._rt - iv[0]) * dx_lev[0] * 0.5_rt; + const amrex::Real x = i * dx_lev[0] + real_box.lo(0) + fac_x; + const amrex::Real fac_y = (1._rt - iv[1]) * dx_lev[1] * 0.5_rt; + const amrex::Real y = j * dx_lev[1] + real_box.lo(1) + fac_y; + const amrex::Real fac_z = (1._rt - iv[2]) * dx_lev[2] * 0.5_rt; + const amrex::Real z = k * dx_lev[2] + real_box.lo(2) + fac_z; #endif // initialize the macroparameter macro_fab(i,j,k) = macro_parser(x,y,z); |