Skip to content
This repository was archived by the owner on Jun 24, 2026. It is now read-only.

Commit 630f6ea

Browse files
Step 1 of testing solovev_free_bdy
... up to activation of Nestor
1 parent 92f79ed commit 630f6ea

16 files changed

Lines changed: 92 additions & 0 deletions

File tree

common/fourier_basis_fast_poloidal/BUILD.bazel

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,15 @@ cc_test(
88
"//vmecpp/test_data:solovev",
99
"//vmecpp/test_data:solovev_analytical",
1010
"//vmecpp/test_data:solovev_no_axis",
11+
"//vmecpp/test_data:solovev_free_bdy",
1112
"//vmecpp/test_data:cth_like_fixed_bdy",
1213
"//vmecpp/test_data:cth_like_fixed_bdy_nzeta_37",
1314
"//vmecpp/test_data:cma",
1415
"//vmecpp/test_data:cth_like_free_bdy",
1516
"//vmecpp_large_cpp_tests/test_data:solovev",
1617
"//vmecpp_large_cpp_tests/test_data:solovev_analytical",
1718
"//vmecpp_large_cpp_tests/test_data:solovev_no_axis",
19+
"//vmecpp_large_cpp_tests/test_data:solovev_free_bdy",
1820
"//vmecpp_large_cpp_tests/test_data:cth_like_fixed_bdy",
1921
"//vmecpp_large_cpp_tests/test_data:cth_like_fixed_bdy_nzeta_37",
2022
"//vmecpp_large_cpp_tests/test_data:cma",

common/fourier_basis_fast_poloidal/fourier_basis_fast_poloidal_test.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ INSTANTIATE_TEST_SUITE_P(
136136
Values(DataSource{.identifier = "solovev", .tolerance = 1.0e-30},
137137
DataSource{.identifier = "solovev_analytical", .tolerance = 1.0e-30},
138138
DataSource{.identifier = "solovev_no_axis", .tolerance = 1.0e-30},
139+
DataSource{.identifier = "solovev_free_bdy", .tolerance = 1.0e-30},
139140
DataSource{.identifier = "cth_like_fixed_bdy", .tolerance = 1.0e-30},
140141
DataSource{.identifier = "cth_like_fixed_bdy_nzeta_37",
141142
.tolerance = 1.0e-30},

common/fourier_basis_fast_toroidal/BUILD.bazel

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,15 @@ cc_test(
88
"//vmecpp/test_data:solovev",
99
"//vmecpp/test_data:solovev_analytical",
1010
"//vmecpp/test_data:solovev_no_axis",
11+
"//vmecpp/test_data:solovev_free_bdy",
1112
"//vmecpp/test_data:cth_like_fixed_bdy",
1213
"//vmecpp/test_data:cth_like_fixed_bdy_nzeta_37",
1314
"//vmecpp/test_data:cma",
1415
"//vmecpp/test_data:cth_like_free_bdy",
1516
"//vmecpp_large_cpp_tests/test_data:solovev",
1617
"//vmecpp_large_cpp_tests/test_data:solovev_analytical",
1718
"//vmecpp_large_cpp_tests/test_data:solovev_no_axis",
19+
"//vmecpp_large_cpp_tests/test_data:solovev_free_bdy",
1820
"//vmecpp_large_cpp_tests/test_data:cth_like_fixed_bdy",
1921
"//vmecpp_large_cpp_tests/test_data:cth_like_fixed_bdy_nzeta_37",
2022
"//vmecpp_large_cpp_tests/test_data:cma",

common/fourier_basis_fast_toroidal/fourier_basis_fast_toroidal_test.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ INSTANTIATE_TEST_SUITE_P(
134134
Values(DataSource{.identifier = "solovev", .tolerance = 1.0e-30},
135135
DataSource{.identifier = "solovev_analytical", .tolerance = 1.0e-30},
136136
DataSource{.identifier = "solovev_no_axis", .tolerance = 1.0e-30},
137+
DataSource{.identifier = "solovev_free_bdy", .tolerance = 1.0e-30},
137138
DataSource{.identifier = "cth_like_fixed_bdy", .tolerance = 1.0e-30},
138139
DataSource{.identifier = "cth_like_fixed_bdy_nzeta_37",
139140
.tolerance = 1.0e-30},

common/sizes/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ cc_test(
88
"//vmecpp/test_data:solovev",
99
"//vmecpp/test_data:solovev_analytical",
1010
"//vmecpp/test_data:solovev_no_axis",
11+
"//vmecpp/test_data:solovev_free_bdy",
1112
"//vmecpp/test_data:cth_like_fixed_bdy",
1213
"//vmecpp/test_data:cma",
1314
"//vmecpp/test_data:cth_like_free_bdy",

common/sizes/sizes_test.cc

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,49 @@ TEST(TestSizes, CheckSolovevNoAxis) {
154154
EXPECT_EQ(sizes.mnmax, 6);
155155
} // CheckSolovevNoAxis
156156

157+
TEST(TestSizes, CheckSolovevFreeBdy) {
158+
double tolerance = 1.0e-30;
159+
160+
absl::StatusOr<std::string> indata_json =
161+
ReadFile("vmecpp/test_data/solovev_free_bdy.json");
162+
ASSERT_TRUE(indata_json.ok());
163+
164+
absl::StatusOr<VmecINDATA> vmec_indata = VmecINDATA::FromJson(*indata_json);
165+
ASSERT_TRUE(vmec_indata.ok());
166+
167+
Sizes sizes(*vmec_indata);
168+
169+
EXPECT_EQ(sizes.lasym, false);
170+
EXPECT_EQ(sizes.nfp, 1);
171+
EXPECT_EQ(sizes.mpol, 6);
172+
EXPECT_EQ(sizes.ntor, 0);
173+
174+
// ntheta was 0 in the input file, so compute it here
175+
EXPECT_EQ(sizes.ntheta, 2 * sizes.mpol + 6);
176+
EXPECT_EQ(sizes.nZeta, 1);
177+
178+
EXPECT_EQ(sizes.lthreed, false);
179+
EXPECT_EQ(sizes.num_basis, 1);
180+
181+
EXPECT_EQ(sizes.nThetaEven, 18);
182+
EXPECT_EQ(sizes.nThetaReduced, 10);
183+
EXPECT_EQ(sizes.nThetaEff, 10);
184+
185+
EXPECT_EQ(sizes.nZnT, 10);
186+
187+
for (int l = 0; l < sizes.nThetaEff; ++l) {
188+
if (l == 0 || l == sizes.nThetaEff - 1) {
189+
EXPECT_TRUE(IsCloseRelAbs(1.0 / 18, sizes.wInt[l], tolerance));
190+
} else {
191+
EXPECT_TRUE(IsCloseRelAbs(2.0 / 18, sizes.wInt[l], tolerance));
192+
}
193+
}
194+
195+
EXPECT_EQ(sizes.mnsize, 6);
196+
197+
EXPECT_EQ(sizes.mnmax, 6);
198+
} // CheckSolovevFreeBdy
199+
157200
TEST(TestSizes, CheckCthLikeFixedBoundary) {
158201
double tolerance = 1.0e-30;
159202

vmec/boundaries/BUILD.bazel

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,15 @@ cc_test(
88
"//vmecpp/test_data:solovev",
99
"//vmecpp/test_data:solovev_analytical",
1010
"//vmecpp/test_data:solovev_no_axis",
11+
"//vmecpp/test_data:solovev_free_bdy",
1112
"//vmecpp/test_data:cth_like_fixed_bdy",
1213
"//vmecpp/test_data:cth_like_fixed_bdy_nzeta_37",
1314
"//vmecpp/test_data:cma",
1415
"//vmecpp/test_data:cth_like_free_bdy",
1516
"//vmecpp_large_cpp_tests/test_data:solovev",
1617
"//vmecpp_large_cpp_tests/test_data:solovev_analytical",
1718
"//vmecpp_large_cpp_tests/test_data:solovev_no_axis",
19+
"//vmecpp_large_cpp_tests/test_data:solovev_free_bdy",
1820
"//vmecpp_large_cpp_tests/test_data:cth_like_fixed_bdy",
1921
"//vmecpp_large_cpp_tests/test_data:cth_like_fixed_bdy_nzeta_37",
2022
"//vmecpp_large_cpp_tests/test_data:cma",

vmec/boundaries/boundaries_test.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ INSTANTIATE_TEST_SUITE_P(
8787
Values(DataSource{.identifier = "solovev", .tolerance = 1.0e-30},
8888
DataSource{.identifier = "solovev_analytical", .tolerance = 1.0e-30},
8989
DataSource{.identifier = "solovev_no_axis", .tolerance = 1.0e-30},
90+
DataSource{.identifier = "solovev_free_bdy", .tolerance = 1.0e-30},
9091
DataSource{.identifier = "cth_like_fixed_bdy", .tolerance = 1.0e-30},
9192
DataSource{.identifier = "cth_like_fixed_bdy_nzeta_37",
9293
.tolerance = 1.0e-30},

vmec/fourier_geometry/BUILD.bazel

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,14 @@ cc_test(
77
data = [
88
"//vmecpp/test_data:solovev",
99
"//vmecpp/test_data:solovev_no_axis",
10+
"//vmecpp/test_data:solovev_free_bdy",
1011
"//vmecpp/test_data:cth_like_fixed_bdy",
1112
"//vmecpp/test_data:cth_like_fixed_bdy_nzeta_37",
1213
"//vmecpp/test_data:cma",
1314
"//vmecpp/test_data:cth_like_free_bdy",
1415
"//vmecpp_large_cpp_tests/test_data:solovev",
1516
"//vmecpp_large_cpp_tests/test_data:solovev_no_axis",
17+
"//vmecpp_large_cpp_tests/test_data:solovev_free_bdy",
1618
"//vmecpp_large_cpp_tests/test_data:cth_like_fixed_bdy",
1719
"//vmecpp_large_cpp_tests/test_data:cth_like_fixed_bdy_nzeta_37",
1820
"//vmecpp_large_cpp_tests/test_data:cma",

vmec/fourier_geometry/fourier_geometry_test.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,8 @@ INSTANTIATE_TEST_SUITE_P(
135135
Values(DataSource{.identifier = "solovev", .tolerance = DBL_EPSILON},
136136
DataSource{.identifier = "solovev_no_axis",
137137
.tolerance = DBL_EPSILON},
138+
DataSource{.identifier = "solovev_free_bdy",
139+
.tolerance = DBL_EPSILON},
138140
DataSource{.identifier = "cth_like_fixed_bdy",
139141
.tolerance = DBL_EPSILON},
140142
DataSource{.identifier = "cth_like_fixed_bdy_nzeta_37",

0 commit comments

Comments
 (0)