IAP GITLAB

Skip to content
Snippets Groups Projects
Commit 6bc2ef50 authored by André Schmidt's avatar André Schmidt Committed by ralfulrich
Browse files

igrf test for more epochs

parent 055d17cd
No related branches found
No related tags found
No related merge requests found
...@@ -146,7 +146,7 @@ namespace corsika { ...@@ -146,7 +146,7 @@ namespace corsika {
legendre = pow(-1, p.m) * std::assoc_legendre(p.n, p.m, sin(lat_sph)); legendre = pow(-1, p.m) * std::assoc_legendre(p.n, p.m, sin(lat_sph));
next_legendre = pow(-1, p.m) * std::assoc_legendre(p.n + 1, p.m, sin(lat_sph)); next_legendre = pow(-1, p.m) * std::assoc_legendre(p.n + 1, p.m, sin(lat_sph));
// Schmidt semi-normalization and Condon-Shortley phase term // Schmidt semi-normalization
if (p.m > 0) { if (p.m > 0) {
// Note: n! = tgamma(n+1) // Note: n! = tgamma(n+1)
legendre *= sqrt(2 * std::tgamma(p.n - p.m + 1) / std::tgamma(p.n + p.m + 1)); legendre *= sqrt(2 * std::tgamma(p.n - p.m + 1) / std::tgamma(p.n + p.m + 1));
......
...@@ -99,17 +99,21 @@ TEST_CASE("UniformMagneticField w/ Homogeneous Medium") { ...@@ -99,17 +99,21 @@ TEST_CASE("UniformMagneticField w/ Homogeneous Medium") {
// create earth magnetic field vector // create earth magnetic field vector
MagneticFieldVector Earth_B_1 = igrf.getField(2022.5, 100_km, -80, -120); MagneticFieldVector Earth_B_1 = igrf.getField(2022.5, 100_km, -80, -120);
MagneticFieldVector Earth_B_2 = igrf.getField(2022.5, 0_km, 0, 120); MagneticFieldVector Earth_B_2 = igrf.getField(1937.5, 10_km, 80, 120);
MagneticFieldVector Earth_B_3 = igrf.getField(2020, 100_km, 80, 0); MagneticFieldVector Earth_B_3 = igrf.getField(1990, 50_km, 80, 0);
CHECK(Earth_B_1.getX(gCS) / 1_nT == Approx(5815).margin(0.03)); MagneticFieldVector Earth_B_4 = igrf.getField(2012, 0_km, 0, -120);
CHECK(Earth_B_1.getY(gCS) / 1_nT == Approx(-14803).margin(0.03)); CHECK(Earth_B_1.getX(gCS) / 1_nT == Approx(5821).margin(0.5));
CHECK(Earth_B_1.getZ(gCS) / 1_nT == Approx(49755.3).margin(0.03)); CHECK(Earth_B_1.getY(gCS) / 1_nT == Approx(14796).margin(0.5));
CHECK(Earth_B_2.getX(gCS) / 1_nT == Approx(39684.7).margin(0.03)); CHECK(Earth_B_1.getZ(gCS) / 1_nT == Approx(-497756).margin(0.5));
CHECK(Earth_B_2.getY(gCS) / 1_nT == Approx(42.2).margin(0.03)); CHECK(Earth_B_2.getX(gCS) / 1_nT == Approx(2957).margin(0.5));
CHECK(Earth_B_2.getZ(gCS) / 1_nT == Approx(10809.5).margin(0.03)); CHECK(Earth_B_2.getY(gCS) / 1_nT == Approx(-1014).margin(0.5));
CHECK(Earth_B_3.getX(gCS) / 1_nT == Approx(6261.8).margin(0.03)); CHECK(Earth_B_2.getZ(gCS) / 1_nT == Approx(-57610).margin(0.5));
CHECK(Earth_B_3.getY(gCS) / 1_nT == Approx(185.5).margin(0.03)); CHECK(Earth_B_3.getX(gCS) / 1_nT == Approx(6545).margin(0.5));
CHECK(Earth_B_3.getZ(gCS) / 1_nT == Approx(-52429.1).margin(0.03)); CHECK(Earth_B_3.getY(gCS) / 1_nT == Approx(1473).margin(0.5));
CHECK(Earth_B_3.getZ(gCS) / 1_nT == Approx(-52884).margin(0.5));
CHECK(Earth_B_4.getX(gCS) / 1_nT == Approx(30052).margin(0.5));
CHECK(Earth_B_4.getY(gCS) / 1_nT == Approx(-4738).margin(0.5));
CHECK(Earth_B_4.getZ(gCS) / 1_nT == Approx(-5190).margin(0.5));
} }
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment