From 7911a94b56f609e7ebbbc0d442cd98d1c0d1755e Mon Sep 17 00:00:00 2001 From: Alisa Galishnikova <55898700+alisagk@users.noreply.github.com> Date: Thu, 17 Jul 2025 16:12:51 -0400 Subject: [PATCH 1/2] removed the small angle adjustment --- src/metrics/qkerr_schild.h | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/src/metrics/qkerr_schild.h b/src/metrics/qkerr_schild.h index 6ff114b4..c7bef618 100644 --- a/src/metrics/qkerr_schild.h +++ b/src/metrics/qkerr_schild.h @@ -39,7 +39,6 @@ namespace metric { const real_t chi_min, eta_min, phi_min; const real_t dchi, deta, dphi; const real_t dchi_inv, deta_inv, dphi_inv; - const bool small_angle; Inline auto Delta(const real_t& r) const -> real_t { return SQR(r) - TWO * r + SQR(a); @@ -90,8 +89,7 @@ namespace metric { , dphi { (x3_max - phi_min) / nx3 } , dchi_inv { ONE / dchi } , deta_inv { ONE / deta } - , dphi_inv { ONE / dphi } - , small_angle { eta2theta(HALF * deta) < constant::SMALL_ANGLE } { + , dphi_inv { ONE / dphi } { set_dxMin(find_dxMin()); } @@ -487,23 +485,12 @@ namespace metric { */ Inline auto polar_area(const real_t& x1) const -> real_t { if constexpr (D != Dim::_1D) { - if (small_angle) { - const real_t dtheta = eta2theta(HALF * deta); - return dchi * math::exp(x1 * dchi + chi_min) * - (SQR(r0 + math::exp(x1 * dchi + chi_min)) + SQR(a)) * - math::sqrt( - ONE + TWO * (r0 + math::exp(x1 * dchi + chi_min)) / - (SQR(r0 + math::exp(x1 * dchi + chi_min)) + SQR(a))) * - (static_cast(48) - SQR(dtheta)) * SQR(dtheta) / - static_cast(384); - } else { - return dchi * math::exp(x1 * dchi + chi_min) * - (SQR(r0 + math::exp(x1 * dchi + chi_min)) + SQR(a)) * - math::sqrt( - ONE + TWO * (r0 + math::exp(x1 * dchi + chi_min)) / - (SQR(r0 + math::exp(x1 * dchi + chi_min)) + SQR(a))) * - (ONE - math::cos(eta2theta(HALF * deta))); - } + return dchi * math::exp(x1 * dchi + chi_min) * + (SQR(r0 + math::exp(x1 * dchi + chi_min)) + SQR(a)) * + math::sqrt( + ONE + TWO * (r0 + math::exp(x1 * dchi + chi_min)) / + (SQR(r0 + math::exp(x1 * dchi + chi_min)) + SQR(a))) * + (ONE - math::cos(eta2theta(HALF * deta))); } } From 7d89d5cf498d8e52ad4d5064c7285f1ca001e771 Mon Sep 17 00:00:00 2001 From: Alisa Galishnikova <55898700+alisagk@users.noreply.github.com> Date: Thu, 17 Jul 2025 16:13:50 -0400 Subject: [PATCH 2/2] fixed ranges for aux calculation (does not matter for current BC under horizon) --- src/engines/grpic.hpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/engines/grpic.hpp b/src/engines/grpic.hpp index cd04838d..35e544a9 100644 --- a/src/engines/grpic.hpp +++ b/src/engines/grpic.hpp @@ -840,8 +840,12 @@ namespace ntt { if constexpr (M::Dim == Dim::_2D) { if (domain.mesh.flds_bc_in({ 0, +1 }) == FldsBC::AXIS) { range = CreateRangePolicy( - { domain.mesh.i_min(in::x1), domain.mesh.i_min(in::x2) }, + { domain.mesh.i_min(in::x1) - 1, domain.mesh.i_min(in::x2) }, { domain.mesh.i_max(in::x1), domain.mesh.i_max(in::x2) + 1 }); + } else { + range = CreateRangePolicy( + { domain.mesh.i_min(in::x1) - 1, domain.mesh.i_min(in::x2) }, + { domain.mesh.i_max(in::x1), domain.mesh.i_max(in::x2) }); } } else if constexpr (M::Dim == Dim::_3D) { raise::Error("Invalid dimension", HERE);