From b301d2bdd82b02c8c7f3a3191bf752eb6eb73e04 Mon Sep 17 00:00:00 2001 From: Philipp Bogdan Date: Mon, 7 Sep 2026 10:34:04 +0100 Subject: [PATCH 1/4] Use cubic interpolation for vacuum field tables --- README.md | 1 + benchmarks/mgrid_interpolation.py | 311 ++++++++++++++++++ docs/index.md | 1 + docs/vacuum_field_interpolation.md | 79 +++++ src/vmecpp/__init__.py | 49 +++ .../vmecpp/common/vmec_indata/vmec_indata.cc | 48 +++ .../vmecpp/common/vmec_indata/vmec_indata.h | 9 + .../common/vmec_indata/vmec_indata_test.cc | 23 ++ .../free_boundary/mgrid_provider/BUILD.bazel | 1 + .../mgrid_provider/mgrid_provider.cc | 35 +- .../mgrid_provider/mgrid_provider.h | 7 +- .../output_quantities_test.cc | 12 +- .../cpp/vmecpp/vmec/pybind11/pybind_vmec.cc | 7 + src/vmecpp/cpp/vmecpp/vmec/vmec/vmec.cc | 1 + src/vmecpp/cpp/vmecpp/vmec/vmec/vmec_test.cc | 3 +- .../external_magnetic_field_test.cc | 4 +- .../laplace_solver/laplace_solver_test.cc | 20 +- .../mgrid_provider/mgrid_provider_test.cc | 86 +++++ .../free_boundary/nestor/nestor_test.cc | 8 +- .../regularized_integrals_test.cc | 4 +- .../singular_integrals_test.cc | 4 +- .../surface_geometry/surface_geometry_test.cc | 1 + .../ideal_mhd_model/ideal_mhd_model_test.cc | 76 ++--- .../output_quantities_test.cc | 59 ++-- .../vmec/vmec/vmec_test.cc | 8 +- tests/test_free_boundary.py | 2 + tests/test_init.py | 1 + tests/test_mgrid_interpolation.py | 83 +++++ 28 files changed, 843 insertions(+), 100 deletions(-) create mode 100644 benchmarks/mgrid_interpolation.py create mode 100644 docs/vacuum_field_interpolation.md create mode 100644 tests/test_mgrid_interpolation.py diff --git a/README.md b/README.md index d86d214a9..01e1e87ce 100644 --- a/README.md +++ b/README.md @@ -361,6 +361,7 @@ VMEC++: neither are the associated input fields `precon_type` and `prec2d_threshold` - VMEC++ only computes the output quantities if the run converged (can be overridden via `return_outputs_even_if_not_converged` input) - The Fortran version falls back to fixed-boundary computation if the `mgrid` file cannot be found; VMEC++ (gracefully) errors out instead. +- VMEC++ uses cubic interpolation of vacuum-field tables in R and Z by default. Set `mgrid_interpolation = vmecpp.MGridInterpolation.LINEAR` for historical bilinear results. See [vacuum-field interpolation](docs/vacuum_field_interpolation.md) for accuracy measurements and reproduction commands. - The Fortran version accepts both the full path or filename of the input file as well as the "extension", i.e., the part after `input.`; VMEC++ only supports a valid filename or full path to an existing input file. ## Roadmap diff --git a/benchmarks/mgrid_interpolation.py b/benchmarks/mgrid_interpolation.py new file mode 100644 index 000000000..c146eb920 --- /dev/null +++ b/benchmarks/mgrid_interpolation.py @@ -0,0 +1,311 @@ +# SPDX-FileCopyrightText: 2026 Proxima Fusion GmbH +# SPDX-License-Identifier: MIT +"""Compare vacuum interpolation at fixed coils, plasma resolution and tolerance. + +Generate a fine response table from coils, or use a supplied MGRID file. Retain raw +outputs and run each measured solve in a separate process. Timings include VMEC output +computation but exclude table generation, reading and validation. +""" + +from __future__ import annotations + +import argparse +import gzip +import hashlib +import json +import random +import shutil +import subprocess +import sys +import time +from importlib.metadata import version +from pathlib import Path + +import numpy as np +from netCDF4 import Dataset + +import vmecpp + + +def digest(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def save(path, value): + path.write_text(json.dumps(value, indent=2, allow_nan=False) + "\n") + + +def prepare(args): + folder = args.output / "inputs" + folder.mkdir() + inputs = vmecpp.VmecInput.from_file(args.input) + if not inputs.lfreeb: + message = "A free-boundary input is required" + raise ValueError(message) + inputs.ftol_array[-1] = args.ftol + inputs.niter_array = np.maximum(inputs.niter_array, args.iterations) + inputs.return_outputs_even_if_not_converged = False + inputs.mgrid_file = "" + inputs.save(folder / "input.json") + provenance = {"input_sha256": digest(args.input), "ftol": args.ftol} + started = time.perf_counter() + if args.coils: + if args.parameters is None: + message = "--parameters is required with --coils" + raise ValueError(message) + parameters = vmecpp.MakegridParameters.from_file(args.parameters) + parameters.number_of_r_grid_points = args.finest + parameters.number_of_z_grid_points = args.finest + field = vmecpp.MagneticFieldResponseTable.from_coils_file( + args.coils, parameters + ) + arrays = {key: getattr(field, key) for key in ("b_r", "b_p", "b_z")} + provenance.update( + coils_sha256=digest(args.coils), + reference="finer table from identical source coils", + ) + else: + with Dataset(args.mgrid) as data: + + def scalar(name): + return np.asarray(data.variables[name][...]).item() + + parameters = vmecpp.MakegridParameters( + normalize_by_currents=b"S" + in np.asarray(data.variables["mgrid_mode"][...]).tobytes(), + assume_stellarator_symmetry=not inputs.lasym, + number_of_field_periods=int(scalar("nfp")), + r_grid_minimum=scalar("rmin"), + r_grid_maximum=scalar("rmax"), + z_grid_minimum=scalar("zmin"), + z_grid_maximum=scalar("zmax"), + number_of_r_grid_points=int(scalar("ir")), + number_of_z_grid_points=int(scalar("jz")), + number_of_phi_grid_points=int(scalar("kp")), + ) + arrays = { + key: np.stack( + [ + np.asarray(data.variables[f"{prefix}_{i:03d}"][...]).ravel() + for i in range(1, int(scalar("nextcur")) + 1) + ] + ) + for key, prefix in (("b_r", "br"), ("b_p", "bp"), ("b_z", "bz")) + } + provenance.update( + mgrid_sha256=digest(args.mgrid), + reference="original supplied table; no independent finer coil data", + ) + provenance["table_preparation_seconds"] = time.perf_counter() - started + np.savez_compressed( + folder / "response.npz", + b_r=arrays["b_r"], + b_p=arrays["b_p"], + b_z=arrays["b_z"], + ) + save(folder / "field.json", parameters.model_dump(mode="json")) + provenance.update( + response_sha256=digest(folder / "response.npz"), + parameters_sha256=digest(folder / "field.json"), + prepared_input_sha256=digest(folder / "input.json"), + ) + save(folder / "provenance.json", provenance) + return parameters.number_of_r_grid_points + + +def worker(args): + load_started = time.perf_counter() + folder = args.output.parent / "inputs" + inputs = vmecpp.VmecInput.from_file(folder / "input.json") + inputs.mgrid_interpolation = vmecpp.MGridInterpolation(args.scheme) + parameters = vmecpp.MakegridParameters( + **json.loads((folder / "field.json").read_text()) + ) + nr = parameters.number_of_r_grid_points + nz = parameters.number_of_z_grid_points + stride = (nr - 1) // (args.grid - 1) + if stride < 1 or (nr - 1) % (args.grid - 1) or (nz - 1) % stride: + message = "The smaller grid must be an exact stride of the source grid" + raise ValueError(message) + with np.load(folder / "response.npz") as archive: + arrays = {} + for key in ("b_r", "b_p", "b_z"): + values = archive[key] + grid = values.reshape(-1, parameters.number_of_phi_grid_points, nz, nr) + arrays[key] = np.ascontiguousarray(grid[:, :, ::stride, ::stride]).reshape( + values.shape[0], -1 + ) + parameters.number_of_r_grid_points = args.grid + parameters.number_of_z_grid_points = (nz - 1) // stride + 1 + field = vmecpp.MagneticFieldResponseTable(parameters=parameters, **arrays) + inputs.save(args.output / "input.json") + result = { + "scheme": args.scheme, + "grid": args.grid, + "z_points": parameters.number_of_z_grid_points, + "repeat": args.repeat, + "input_sha256": digest(args.output / "input.json"), + "converged": False, + "started_at": time.time(), + "load_seconds": time.perf_counter() - load_started, + } + started = time.perf_counter() + try: + output = vmecpp.run(inputs, field, max_threads=args.threads, verbose=False) + result["seconds"] = time.perf_counter() - started + w = output.wout + residuals = [float(w.fsqr), float(w.fsqz), float(w.fsql)] + keys = [ + "rmnc", + "zmns", + "lmns", + "bmnc", + "bsupumnc", + "bsupvmnc", + "iotaf", + "presf", + "phi", + ] + if inputs.lasym: + keys += ["rmns", "zmnc", "lmnc", "bmns", "bsupumns", "bsupvmns"] + finite = all(np.isfinite(getattr(w, key)).all() for key in keys) + result.update( + iterations=int(w.itfsq), + residuals=residuals, + converged=bool( + w.ier_flag == 0 + and w.ns == inputs.ns_array[-1] + and w.mpol == inputs.mpol + and w.ntor == inputs.ntor + and finite + and np.isfinite(residuals).all() + and max(residuals) <= inputs.ftol_array[-1] + ), + ) + with gzip.open(args.output / "output.json.gz", "wt") as stream: + stream.write(output.model_dump_json()) + except RuntimeError as error: + result.update(seconds=time.perf_counter() - started, error=str(error)) + result["finished_at"] = time.time() + save(args.output / "result.json", result) + + +def run(args): + args.output.mkdir(parents=True, exist_ok=False) + finest = prepare(args) + script = args.output / "runner.py" + shutil.copy2(__file__, script) + native = Path(vmecpp._vmecpp.__file__) + save( + args.output / "environment.json", + { + "script_sha256": digest(script), + "threads": args.threads, + "python": sys.version, + "package": version("vmecpp"), + "binaries": { + p.name: digest(p) + for p in native.parent.iterdir() + if p.suffix in (".so", ".dylib") + }, + }, + ) + pairs = [(grid, repeat) for grid in args.grids for repeat in range(args.repeats)] + rng = random.Random(20260907) + rng.shuffle(pairs) + schedule = [(finest, -1, "cubic")] + for grid, repeat in pairs: + schemes = ["linear", "cubic"] + rng.shuffle(schemes) + schedule.extend((grid, repeat, scheme) for scheme in schemes) + save(args.output / "schedule.json", schedule) + rows = [] + reference = None + for grid, repeat, scheme in schedule: + target = args.output / f"{scheme}-{grid}-{repeat}" + target.mkdir() + command = [ + sys.executable, + str(script), + "--worker", + "--output", + str(target), + "--grid", + str(grid), + "--scheme", + scheme, + "--repeat", + str(repeat), + "--threads", + str(args.threads), + ] + with (target / "process.log").open("w") as log: + try: + process = subprocess.run( + command, + stdout=log, + stderr=subprocess.STDOUT, + timeout=args.timeout, + check=False, + ) + result = ( + json.loads((target / "result.json").read_text()) + if (target / "result.json").exists() + else {"converged": False, "exit_code": process.returncode} + ) + except subprocess.TimeoutExpired: + result = {"converged": False, "timeout": args.timeout} + result.update(scheme=scheme, grid=grid, repeat=repeat) + if result["converged"]: + with gzip.open(target / "output.json.gz", "rt") as stream: + w = json.load(stream)["wout"] + if reference is None: + reference = w + for key in ("rmnc", "zmns", "lmns", "bmnc", "iotaf"): + result[key + "_maximum_difference"] = float( + np.max(np.abs(np.asarray(w[key]) - np.asarray(reference[key]))) + ) + elif repeat == -1: + save(args.output / "results.json", [result]) + message = "The reference solve failed; see its process log" + raise RuntimeError(message) + rows.append(result) + save(args.output / "results.json", rows) + print(json.dumps(result), flush=True) # noqa: T201 + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--input", type=Path) + source = parser.add_mutually_exclusive_group() + source.add_argument("--coils", type=Path) + source.add_argument("--mgrid", type=Path) + parser.add_argument("--parameters", type=Path) + parser.add_argument("--output", type=Path, required=True) + parser.add_argument("--finest", type=int, default=401) + parser.add_argument("--grids", type=int, nargs="+", default=[51, 101]) + parser.add_argument("--ftol", type=float, default=1e-14) + parser.add_argument("--iterations", type=int, default=20000) + parser.add_argument("--repeats", type=int, default=8) + parser.add_argument("--threads", type=int, default=4) + parser.add_argument("--timeout", type=float, default=300) + parser.add_argument("--worker", action="store_true", help=argparse.SUPPRESS) + parser.add_argument("--grid", type=int, help=argparse.SUPPRESS) + parser.add_argument("--scheme", choices=["linear", "cubic"], help=argparse.SUPPRESS) + parser.add_argument("--repeat", type=int, help=argparse.SUPPRESS) + args = parser.parse_args() + args.output = args.output.resolve() + if args.worker: + worker(args) + else: + if args.input is None or not (args.coils or args.mgrid): + parser.error("Supply --input and either --coils or --mgrid") + if min(args.grids) < 2 or min(args.repeats, args.threads) < 1: + parser.error( + "Grid sizes must be at least two; repeats and threads positive" + ) + run(args) + + +if __name__ == "__main__": + main() diff --git a/docs/index.md b/docs/index.md index 4acc8d543..961ec0390 100644 --- a/docs/index.md +++ b/docs/index.md @@ -10,6 +10,7 @@ Reference Examples Fourier Basis Details +Vacuum Field Interpolation Benchmarks ``` diff --git a/docs/vacuum_field_interpolation.md b/docs/vacuum_field_interpolation.md new file mode 100644 index 000000000..bc614f8cf --- /dev/null +++ b/docs/vacuum_field_interpolation.md @@ -0,0 +1,79 @@ +# Vacuum-field interpolation + +VMEC++ uses tensor cubic interpolation of the external magnetic field in R and +Z. Each evaluation uses four nodes in each direction, with a one-sided stencil +near the grid edges. Tables with fewer than four R or Z nodes use bilinear +interpolation. The toroidal plane selection is unchanged; interpolation does +not extend the field outside its supplied domain. + +`VmecInput.mgrid_interpolation` selects the numerical method. Cubic is the solver +default. Use `vmecpp.MGridInterpolation.LINEAR` to reproduce calculations made +with historical bilinear interpolation. The selection is stored with the full +input/output data. Historical full outputs lacking this field are read as +linear; a newly loaded input file without the field uses the current default. + +## Accuracy and cost + +A frozen study compared the two methods at the same plasma resolution, profiles, +coil currents and final force tolerances. The symmetric cases used 1e-14; +asymmetric CTH used its original 1e-8 tolerance and the W7-X timing comparison +used its original 1e-12 tolerance. The baseline was `4e0eefb`. + +For cases with source coils, all table sizes were derived from one finer table +computed from identical polygonal/circular filaments. An independent +straight-segment Biot-Savart calculation and refined circular-filament quadrature +agreed with table nodes to 3.1e-13 or better. Equilibrium comparisons used a +401-by-401 cubic-table reference and matched physical positions before comparing +B, removing differences due solely to flux-coordinate parametrisation. + +| Case | Relative B difference, linear 101 | Relative B difference, cubic 51 | Cubic/linear runtime at the original table size | +|---|---:|---:|---:| +| CTH, finite pressure/current | 2.96e-5 | 4.35e-7 | 0.985 | +| Free-boundary Solovev | 1.41e-4 | 1.42e-6 | 1.060 | +| QUASR 954 | 7.62e-5 | 4.85e-6 | 1.040 | +| QUASR 65579 | 6.88e-5 | 4.21e-6 | 1.002 | +| Asymmetric CTH | See below | See below | 0.989 | +| W7-X, finite pressure, held out | See below | See below | 1.018 | + +The timing ratios are medians of eight adjacent, process-isolated pairs on an +Apple M4 Mac (10 CPU cores, 16 GB RAM) with four OpenMP threads. All 160 confirmation solves +converged; the table includes the original-size comparisons. Individual +small-sample confidence intervals remain wider than the medians: their upper +limits exceed 1.10 for Solovev and QUASR 954. These measurements support an +accuracy improvement at similar solver cost, rather than a speedup claim. + +The supplied asymmetric CTH and W7-X tables had no independent finer coil table. +At original table nodes withheld from a coarser 61-by-61 W7-X table, cubic +interpolation reduced field error by about 80 times compared with bilinear at +that same resolution. Complete equilibria also approached the finest supplied +cubic-table result more closely. That result is a refinement reference, not an +exact coil-field certificate. + +The gain concerns field-table error. Plasma Fourier/radial truncation and the +polygonal approximation of a smooth coil remain separate error sources. Sampled +bulk force-balance error was mostly unchanged when plasma resolution dominated. +Both methods stalled when asymmetric CTH was pushed from its supplied 1e-8 +force tolerance to 1e-14; that stricter failure is not counted as convergence. + +## Reproduce a comparison + +The benchmark retains source hashes, actual inputs, method selections, raw +outputs, convergence failures and paired solve timings. Run from the repository +root, with VMEC++ installed: + +```bash +OMP_NUM_THREADS=4 python benchmarks/mgrid_interpolation.py \ + --input src/vmecpp/cpp/vmecpp/test_data/cth_like_free_bdy.json \ + --coils src/vmecpp/cpp/vmecpp/test_data/coils.cth_like \ + --parameters src/vmecpp/cpp/vmecpp/test_data/makegrid_parameters_cth_like.json \ + --finest 401 --grids 51 101 --repeats 8 --output mgrid-cth-study +``` + +Replace `cth_like` with `solovev` for the axisymmetric case. A supplied MGRID +file can be used with `--mgrid` instead of `--coils`/`--parameters`; choose R-grid +counts whose spacings divide the original grid, and an appropriate `--ftol`. +Z is reduced by the same stride, including for rectangular grids. In this mode +the reference uses the original supplied table. Table preparation and loading +are reported separately from the measured solver call. The script reports +Fourier-coefficient differences; independent physical-point reconstruction was +an additional validation in the study above. diff --git a/src/vmecpp/__init__.py b/src/vmecpp/__init__.py index f76b4e338..69e9ac59e 100644 --- a/src/vmecpp/__init__.py +++ b/src/vmecpp/__init__.py @@ -153,6 +153,16 @@ class FreeBoundaryMethod(str, enum.Enum): """Boundary Integral Equation Solver for Toroidal systems.""" +class MGridInterpolation(str, enum.Enum): + """Interpolation of the external magnetic field in R and Z.""" + + LINEAR = "linear" + """Bilinear interpolation used by historical Fortran VMEC.""" + + CUBIC = "cubic" + """Tensor cubic interpolation, falling back to linear below four grid points.""" + + class IterationStyle(str, enum.Enum): """Time-step / restart control scheme for the equilibrium iteration.""" @@ -188,6 +198,16 @@ def _validate_free_boundary_method( return FreeBoundaryMethod(str(value)) +def _validate_mgrid_interpolation( + value: _vmecpp.MGridInterpolation | str | MGridInterpolation, +) -> MGridInterpolation: + if isinstance(value, MGridInterpolation): + return value + if isinstance(value, _vmecpp.MGridInterpolation): + return MGridInterpolation(value.name.lower()) # pyright: ignore[reportAttributeAccessIssue] + return MGridInterpolation(str(value)) + + def _validate_iteration_style( value: _vmecpp.IterationStyle | str | IterationStyle, ) -> IterationStyle: @@ -417,6 +437,18 @@ class VmecInput(BaseModelWithNumpy): ] = FreeBoundaryMethod.NESTOR """Method for handling free-boundary conditions.""" + mgrid_interpolation: typing.Annotated[ + MGridInterpolation, + pydantic.BeforeValidator(_validate_mgrid_interpolation), + ] = MGridInterpolation.CUBIC + """Vacuum field interpolation in R and Z. + + Cubic uses four points in each + direction; grids with fewer than four points use bilinear interpolation. + Choose ``"linear"`` to reproduce historical Fortran VMEC calculations. + Toroidal planes and the supplied coil field samples are unchanged. + """ + iteration_style: typing.Annotated[ IterationStyle, pydantic.BeforeValidator(_validate_iteration_style), @@ -729,6 +761,7 @@ def _to_cpp_vmecindata(self) -> _vmecpp.VmecINDATA: for attr in own_model_fields(VmecInput): if attr in readonly_attrs or attr in ( "free_boundary_method", + "mgrid_interpolation", "iteration_style", ): continue # these must be set separately @@ -738,6 +771,9 @@ def _to_cpp_vmecindata(self) -> _vmecpp.VmecINDATA: cpp_indata.free_boundary_method = getattr( _vmecpp.FreeBoundaryMethod, self.free_boundary_method.upper() ) + cpp_indata.mgrid_interpolation = getattr( + _vmecpp.MGridInterpolation, self.mgrid_interpolation.upper() + ) cpp_indata.iteration_style = getattr( _vmecpp.IterationStyle, self.iteration_style.upper() ) @@ -2355,6 +2391,18 @@ def _from_cpp_jxbout(cpp_jxbout: _vmecpp.JxBOutFileContents) -> JxBOut: class VmecOutput(BaseModelWithNumpy): """Container for the full output of a VMEC run.""" + @pydantic.model_validator(mode="before") + @classmethod + def _restore_historical_interpolation(cls, value: typing.Any) -> typing.Any: + if isinstance(value, dict) and isinstance(value.get("input"), dict): + inputs = value["input"] + if "mgrid_interpolation" not in inputs: + return { + **value, + "input": {**inputs, "mgrid_interpolation": "linear"}, + } + return value + input: VmecInput """The input to the VMEC run that produced this output.""" @@ -2722,6 +2770,7 @@ def set_profile( "MakegridParameters", "MagneticFieldResponseTable", "FreeBoundaryMethod", + "MGridInterpolation", "IterationStyle", "set_profile", "iterate", diff --git a/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata.cc b/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata.cc index fbcb0d857..88de1091b 100644 --- a/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata.cc +++ b/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata.cc @@ -138,6 +138,25 @@ std::string ToString(FreeBoundaryMethod free_boundary_method) { } } // ToString +absl::StatusOr MGridInterpolationFromString( + const std::string& interpolation) { + if (interpolation == "linear") return MGridInterpolation::kLinear; + if (interpolation == "cubic") return MGridInterpolation::kCubic; + return absl::InvalidArgumentError( + absl::StrCat("mgrid_interpolation must be 'linear' or 'cubic', got '", + interpolation, "'")); +} + +std::string ToString(MGridInterpolation interpolation) { + switch (interpolation) { + case MGridInterpolation::kLinear: + return "linear"; + case MGridInterpolation::kCubic: + return "cubic"; + } + return "unknown"; +} + int IterationStyleCode(IterationStyle iteration_style) { // from https://stackoverflow.com/a/11421471 return static_cast>(iteration_style); @@ -219,6 +238,7 @@ VmecINDATA::VmecINDATA() { // extcur is left empty nvacskip = 1; free_boundary_method = FreeBoundaryMethod::NESTOR; + mgrid_interpolation = MGridInterpolation::kCubic; // tweaking parameters nstep = 10; @@ -346,6 +366,8 @@ absl::Status VmecINDATA::WriteTo(H5::H5File& file) const { // special treatment for enums WriteH5Dataset(ToString(free_boundary_method), "/indata/free_boundary_method", file); + WriteH5Dataset(ToString(mgrid_interpolation), "/indata/mgrid_interpolation", + file); WriteH5Dataset(ToString(iteration_style), "/indata/iteration_style", file); WriteH5Dataset(nstep, "/indata/nstep", file); @@ -433,6 +455,17 @@ absl::Status VmecINDATA::LoadInto(VmecINDATA& m_indata, H5::H5File& from_file) { } m_indata.free_boundary_method = maybe_fbdy_method.value(); + if (from_file.nameExists("/indata/mgrid_interpolation")) { + std::string interpolation; + ReadH5Dataset(interpolation, "/indata/mgrid_interpolation", from_file); + const auto parsed = MGridInterpolationFromString(interpolation); + if (!parsed.ok()) return parsed.status(); + m_indata.mgrid_interpolation = *parsed; + } else { + // Historical output files were computed with bilinear interpolation. + m_indata.mgrid_interpolation = MGridInterpolation::kLinear; + } + // Legacy way of checking for dataset existence // TODO(jons) replace with from_file.nameExists when we get a newer HDF5 // version in pip wheels @@ -874,6 +907,14 @@ absl::StatusOr VmecINDATA::FromJson( vmec_indata.nvacskip = maybe_nvacskip->value(); } + const auto maybe_interpolation = JsonReadString(j, "mgrid_interpolation"); + if (!maybe_interpolation.ok()) return maybe_interpolation.status(); + if (maybe_interpolation->has_value()) { + const auto parsed = MGridInterpolationFromString(**maybe_interpolation); + if (!parsed.ok()) return parsed.status(); + vmec_indata.mgrid_interpolation = *parsed; + } + auto maybe_free_boundary_method = JsonReadString(j, "free_boundary_method"); if (!maybe_free_boundary_method.ok()) { return maybe_free_boundary_method.status(); @@ -1246,6 +1287,7 @@ absl::StatusOr VmecINDATA::ToJson() const { output["extcur"] = extcur; output["nvacskip"] = nvacskip; output["free_boundary_method"] = ToString(free_boundary_method); + output["mgrid_interpolation"] = ToString(mgrid_interpolation); // Tweaking Parameters output["nstep"] = nstep; @@ -1491,6 +1533,12 @@ absl::Status IsConsistent(const VmecINDATA& vmec_indata, /* --------------------------------- */ + if (vmec_indata.mgrid_interpolation != MGridInterpolation::kLinear && + vmec_indata.mgrid_interpolation != MGridInterpolation::kCubic) { + return absl::InvalidArgumentError( + "input variable 'mgrid_interpolation' must be 'linear' or 'cubic'"); + } + // lfreeb // nothing to check here: lfreeb can be true or false and both are valid... if (vmec_indata.lfreeb) { diff --git a/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata.h b/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata.h index 0291ad9ca..c95ac6de2 100644 --- a/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata.h +++ b/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata.h @@ -44,6 +44,12 @@ absl::StatusOr FreeBoundaryMethodFromString( const std::string& free_boundary_method_string); std::string ToString(FreeBoundaryMethod free_boundary_method); +enum class MGridInterpolation : std::uint8_t { kLinear, kCubic }; + +absl::StatusOr MGridInterpolationFromString( + const std::string& interpolation); +std::string ToString(MGridInterpolation interpolation); + // Use this to switch the overall program flow/iteration style // between VMEC 8.52 (Golden Reference for V&V, and what educational_VMEC is // based on) and PARVMEC (~same as hiddenSymmetries/VMEC2000) - version 9.0. @@ -195,6 +201,9 @@ class VmecINDATA { // for the free-boundary force contribution FreeBoundaryMethod free_boundary_method; + // Tensor-product interpolation of the vacuum field in R and Z. + MGridInterpolation mgrid_interpolation; + // --------------------------------- // tweaking parameters diff --git a/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata_test.cc b/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata_test.cc index 167dac757..76afc244c 100644 --- a/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata_test.cc +++ b/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata_test.cc @@ -422,6 +422,7 @@ void CheckHdf5RoundTrip(const std::string& filename) { EXPECT_EQ(indata.extcur, indata_from_file.extcur); EXPECT_EQ(indata.nvacskip, indata_from_file.nvacskip); EXPECT_EQ(indata.free_boundary_method, indata_from_file.free_boundary_method); + EXPECT_EQ(indata.mgrid_interpolation, indata_from_file.mgrid_interpolation); EXPECT_EQ(indata.nstep, indata_from_file.nstep); EXPECT_EQ(indata.aphi, indata_from_file.aphi); EXPECT_EQ(indata.delt, indata_from_file.delt); @@ -435,8 +436,30 @@ void CheckHdf5RoundTrip(const std::string& filename) { EXPECT_EQ(indata.zbs, indata_from_file.zbs); EXPECT_EQ(indata.rbs, indata_from_file.rbs); EXPECT_EQ(indata.zbc, indata_from_file.zbc); + + ASSERT_EQ(H5Ldelete(file.getId(), "/indata/mgrid_interpolation", H5P_DEFAULT), + 0); + VmecINDATA historical; + ASSERT_TRUE(VmecINDATA::LoadInto(historical, file).ok()); + EXPECT_EQ(historical.mgrid_interpolation, MGridInterpolation::kLinear); } // CheckHdf5RoundTrip +TEST(TestVmecINDATA, MGridInterpolationJson) { + for (const auto scheme : + {MGridInterpolation::kLinear, MGridInterpolation::kCubic}) { + const auto parsed = VmecINDATA::FromJson( + json{{"mgrid_interpolation", ToString(scheme)}}.dump()); + ASSERT_TRUE(parsed.ok()) << parsed.status(); + EXPECT_EQ(parsed->mgrid_interpolation, scheme); + const auto written = parsed->ToJson(); + ASSERT_TRUE(written.ok()) << written.status(); + EXPECT_EQ(json::parse(*written)["mgrid_interpolation"], ToString(scheme)); + } + const auto invalid = + VmecINDATA::FromJson(R"({"mgrid_interpolation":"nearest"})"); + EXPECT_FALSE(invalid.ok()); +} + TEST(TestVmecINDATA, HDF5IO) { CheckHdf5RoundTrip("vmecpp/test_data/cth_like_free_bdy.json"); } // HDF5IO diff --git a/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/BUILD.bazel b/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/BUILD.bazel index 726652cae..757f088d0 100644 --- a/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/BUILD.bazel +++ b/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/BUILD.bazel @@ -13,6 +13,7 @@ cc_library( "//util/netcdf_io:netcdf_io", "//vmecpp/common/util:util", "//vmecpp/common/sizes:sizes", + "//vmecpp/common/vmec_indata", "//vmecpp/common/fourier_basis_fast_toroidal", "//vmecpp/common/makegrid_lib", "//vmecpp/free_boundary/tangential_partitioning:tangential_partitioning", diff --git a/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/mgrid_provider.cc b/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/mgrid_provider.cc index 306cc6b81..ab423ac3f 100644 --- a/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/mgrid_provider.cc +++ b/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/mgrid_provider.cc @@ -70,7 +70,8 @@ void MGridProvider::ResetAccumulatedField() { bZ.setZero(num_grid_points); } -MGridProvider::MGridProvider() { +MGridProvider::MGridProvider(MGridInterpolation interpolation) + : interpolation_(interpolation) { nfp = -1; numR = -1; @@ -387,6 +388,38 @@ absl::Status MGridProvider::interpolate(int ztMin, int ztMax, int nZeta, double r = std::max(minR, std::min(rLCFS[kl], maxR)); double z = std::max(minZ, std::min(zLCFS[kl], maxZ)); + if (interpolation_ == MGridInterpolation::kCubic && numR >= 4 && + numZ >= 4) { + const double r_index = (r - minR) / deltaR; + const double z_index = (z - minZ) / deltaZ; + const int r_start = + std::clamp(static_cast(floor(r_index)) - 1, 0, numR - 4); + const int z_start = + std::clamp(static_cast(floor(z_index)) - 1, 0, numZ - 4); + const auto weights = [](double u) -> std::array { + return {-(u - 1) * (u - 2) * (u - 3) / 6, u * (u - 2) * (u - 3) / 2, + -u * (u - 1) * (u - 3) / 2, u * (u - 1) * (u - 2) / 6}; + }; + const auto r_weights = weights(r_index - r_start); + const auto z_weights = weights(z_index - z_start); + double br = 0.0; + double bp = 0.0; + double bz = 0.0; + for (int j = 0; j < 4; ++j) { + for (int i = 0; i < 4; ++i) { + const int index = (k * numZ + z_start + j) * numR + r_start + i; + const double weight = r_weights[i] * z_weights[j]; + br += weight * bR[index]; + bp += weight * bP[index]; + bz += weight * bZ[index]; + } + } + m_interpBr[kl - ztMin] = br; + m_interpBp[kl - ztMin] = bp; + m_interpBz[kl - ztMin] = bz; + continue; + } + // DETERMINE INTEGER INDICES (IR,JZ) FOR LOWER LEFT R, Z CORNER GRID POINT int ir = static_cast(floor((r - minR) / deltaR)); int jz = static_cast(floor((z - minZ) / deltaZ)); diff --git a/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/mgrid_provider.h b/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/mgrid_provider.h index e74cc02df..f42fad962 100644 --- a/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/mgrid_provider.h +++ b/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/mgrid_provider.h @@ -13,12 +13,15 @@ #include "absl/status/status.h" #include "vmecpp/common/makegrid_lib/makegrid_lib.h" #include "vmecpp/common/sizes/sizes.h" +#include "vmecpp/common/vmec_indata/vmec_indata.h" namespace vmecpp { class MGridProvider { public: - MGridProvider(); + // Vmec supplies its input scheme; standalone providers retain their default. + explicit MGridProvider( + MGridInterpolation interpolation = MGridInterpolation::kLinear); absl::Status LoadFile(const std::filesystem::path& filename, const Eigen::VectorXd& coil_currents); @@ -73,6 +76,8 @@ class MGridProvider { bool IsLoaded() const { return has_mgrid_loaded_; } private: + MGridInterpolation interpolation_; + // Size the accumulation arrays to the current grid and clear them. void ResetAccumulatedField(); diff --git a/src/vmecpp/cpp/vmecpp/vmec/output_quantities/output_quantities_test.cc b/src/vmecpp/cpp/vmecpp/vmec/output_quantities/output_quantities_test.cc index 56514329f..201b4622d 100644 --- a/src/vmecpp/cpp/vmecpp/vmec/output_quantities/output_quantities_test.cc +++ b/src/vmecpp/cpp/vmecpp/vmec/output_quantities/output_quantities_test.cc @@ -65,9 +65,9 @@ TEST_P(WOutFileContentsTest, CheckWOutFileContents) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; auto maybe_vmec = Vmec::FromIndata(*vmec_indata); ASSERT_TRUE(maybe_vmec.ok()); @@ -780,9 +780,9 @@ TEST(SolovevFreeBoundary, MatchesEducationalVmecGolden) { const absl::StatusOr indata_json = ReadFile("vmecpp/test_data/solovev_free_bdy.json"); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; ASSERT_TRUE(vmec_indata->lfreeb); ASSERT_EQ(vmec_indata->ntor, 0); @@ -934,9 +934,9 @@ TEST(SolovevFreeBoundaryLforbal, MatchesEducationalVmecGolden) { const absl::StatusOr indata_json = ReadFile("vmecpp/test_data/solovev_free_bdy_lforbal.json"); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; ASSERT_TRUE(vmec_indata->lfreeb); ASSERT_TRUE(vmec_indata->lforbal); ASSERT_EQ(vmec_indata->ntor, 0); diff --git a/src/vmecpp/cpp/vmecpp/vmec/pybind11/pybind_vmec.cc b/src/vmecpp/cpp/vmecpp/vmec/pybind11/pybind_vmec.cc index e34bb235e..a83a50ae3 100644 --- a/src/vmecpp/cpp/vmecpp/vmec/pybind11/pybind_vmec.cc +++ b/src/vmecpp/cpp/vmecpp/vmec/pybind11/pybind_vmec.cc @@ -613,6 +613,7 @@ PYBIND11_MODULE(_vmecpp, m) { DefEigenProperty(pyindata, "extcur", &VmecINDATA::extcur); pyindata.def_readwrite("nvacskip", &VmecINDATA::nvacskip) .def_readwrite("free_boundary_method", &VmecINDATA::free_boundary_method) + .def_readwrite("mgrid_interpolation", &VmecINDATA::mgrid_interpolation) // tweaking parameters .def_readwrite("nstep", &VmecINDATA::nstep); @@ -663,6 +664,12 @@ PYBIND11_MODULE(_vmecpp, m) { .export_values() .finalize(); + py::native_enum(m, "MGridInterpolation", + "enum.Enum") + .value("LINEAR", vmecpp::MGridInterpolation::kLinear) + .value("CUBIC", vmecpp::MGridInterpolation::kCubic) + .finalize(); + py::native_enum(m, "OutputMode", "enum.IntEnum") .value("SILENT", vmecpp::OutputMode::kSilent) .value("LEGACY", vmecpp::OutputMode::kLegacy) diff --git a/src/vmecpp/cpp/vmecpp/vmec/vmec/vmec.cc b/src/vmecpp/cpp/vmecpp/vmec/vmec/vmec.cc index 02c0b4b10..5797161b8 100644 --- a/src/vmecpp/cpp/vmecpp/vmec/vmec/vmec.cc +++ b/src/vmecpp/cpp/vmecpp/vmec/vmec/vmec.cc @@ -185,6 +185,7 @@ Vmec::Vmec(const VmecINDATA& indata, std::optional max_threads, h_(&s_), fc_(indata_.lfreeb, indata_.delt, static_cast(indata_.ns_array.size()), max_threads), + mgrid_(indata_.mgrid_interpolation), verbose_(verbose != OutputMode::kSilent), logger_(std::cout, verbose), interrupt_callback_(std::move(interrupt_callback)), diff --git a/src/vmecpp/cpp/vmecpp/vmec/vmec/vmec_test.cc b/src/vmecpp/cpp/vmecpp/vmec/vmec/vmec_test.cc index b4341c0f3..50aa461dd 100644 --- a/src/vmecpp/cpp/vmecpp/vmec/vmec/vmec_test.cc +++ b/src/vmecpp/cpp/vmecpp/vmec/vmec/vmec_test.cc @@ -785,8 +785,9 @@ TEST(TestVmec, MultiGridFreeBoundary) { const absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr indata = VmecINDATA::FromJson(*indata_json); + absl::StatusOr indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(indata.ok()); + indata->mgrid_interpolation = vmecpp::MGridInterpolation::kLinear; ASSERT_EQ(indata->ns_array.size(), 2u); const auto output = vmecpp::run(*indata, std::nullopt, 1); diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/external_magnetic_field/external_magnetic_field_test.cc b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/external_magnetic_field/external_magnetic_field_test.cc index a471c168f..091cf3c25 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/external_magnetic_field/external_magnetic_field_test.cc +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/external_magnetic_field/external_magnetic_field_test.cc @@ -49,9 +49,9 @@ TEST_P(ExternalMagneticFieldTest, CheckExternalMagneticField) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/laplace_solver/laplace_solver_test.cc b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/laplace_solver/laplace_solver_test.cc index 845c9c392..3e81059ef 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/laplace_solver/laplace_solver_test.cc +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/laplace_solver/laplace_solver_test.cc @@ -170,9 +170,9 @@ TEST_P(FourISymmTest, CheckFourISymm) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -342,9 +342,9 @@ TEST_P(FourIKvDftTest, CheckFourIKvDft) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -490,9 +490,9 @@ TEST_P(FourIKuDftTest, CheckFourIKuDft) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -602,9 +602,9 @@ TEST_P(SolverInputsTest, CheckSolverInputs) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -702,9 +702,9 @@ TEST_P(LinearSolverTest, CheckLinearSolver) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/mgrid_provider/mgrid_provider_test.cc b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/mgrid_provider/mgrid_provider_test.cc index 61533e67a..61db924cf 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/mgrid_provider/mgrid_provider_test.cc +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/mgrid_provider/mgrid_provider_test.cc @@ -4,6 +4,7 @@ // SPDX-License-Identifier: MIT #include "vmecpp/free_boundary/mgrid_provider/mgrid_provider.h" +#include #include #include #include @@ -432,4 +433,89 @@ TEST(MGridProviderValidation, LoadFileReadsCoilGroupNames) { } } +TEST(MGridPolynomialInterpolation, + ReproducesTensorPolynomialsAndSmallGridFallback) { + for (const int num_r : {2, 3, 4, 7}) { + for (const int num_z : {2, 3, 4, 8}) { + for (const bool cubic_polynomial : {false, true}) { + makegrid::MagneticFieldResponseTable table; + auto& parameters = table.parameters; + parameters.normalize_by_currents = false; + parameters.number_of_field_periods = 3; + parameters.r_grid_minimum = 1.0; + parameters.r_grid_maximum = 3.0; + parameters.z_grid_minimum = -0.7; + parameters.z_grid_maximum = 0.9; + parameters.number_of_r_grid_points = num_r; + parameters.number_of_z_grid_points = num_z; + parameters.number_of_phi_grid_points = 5; + const int num_cells = num_r * num_z * 5; + table.b_r.resize(2, num_cells); + table.b_p.resize(2, num_cells); + table.b_z.resize(2, num_cells); + const auto polynomial = [cubic_polynomial](double r, double z, int k) { + return cubic_polynomial ? r * r * r + 2 * z * z * z + r * r * z * z + + 0.3 * r * z + k + : r + z + r * z + k; + }; + for (int k = 0; k < 5; ++k) { + for (int j = 0; j < num_z; ++j) { + for (int i = 0; i < num_r; ++i) { + const double value = polynomial(1.0 + 2.0 * i / (num_r - 1), + -0.7 + 1.6 * j / (num_z - 1), k); + const int index = (k * num_z + j) * num_r + i; + table.b_r(0, index) = value; + table.b_p(0, index) = 2 * value; + table.b_z(0, index) = -value; + table.b_r(1, index) = 3 * value; + table.b_p(1, index) = 6 * value; + table.b_z(1, index) = -3 * value; + } + } + } + Eigen::VectorXd currents(2); + currents << 2.0, -0.25; + for (const auto scheme : + {MGridInterpolation::kLinear, MGridInterpolation::kCubic}) { + SCOPED_TRACE(absl::StrFormat("nr=%d nz=%d polynomial=%d scheme=%s", + num_r, num_z, cubic_polynomial, + ToString(scheme))); + MGridProvider provider(scheme); + ASSERT_TRUE(provider.LoadFields(table, currents).ok()); + Eigen::VectorXd r(205), z(205), br(205), bp(205), bz(205); + for (int i = 0; i < 205; ++i) { + r[i] = 1.0 + 2.0 * (((i * 37) % 205) + 0.5) / 205.0; + z[i] = -0.7 + 1.6 * (((i * 71) % 205) + 0.5) / 205.0; + } + r[0] = 1.0; + z[0] = -0.7; + r[1] = 3.0; + z[1] = 0.9; + r[2] = 3.0; + z[2] = -0.7; + r[3] = 1.0; + z[3] = 0.9; + ASSERT_TRUE( + provider.interpolate(0, 205, 5, 205, r, z, br, bp, bz).ok()); + double error = 0.0; + for (int i = 0; i < 205; ++i) { + const double expected = 1.25 * polynomial(r[i], z[i], i % 5); + error = std::max({error, std::abs(br[i] - expected), + std::abs(bp[i] - 2 * expected), + std::abs(bz[i] + expected)}); + } + const bool exact = + !cubic_polynomial || (scheme == MGridInterpolation::kCubic && + num_r >= 4 && num_z >= 4); + if (exact) { + EXPECT_LT(error, 1e-11); + } else { + EXPECT_GT(error, 1e-4); + } + } + } + } + } +} + } // namespace vmecpp diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/nestor/nestor_test.cc b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/nestor/nestor_test.cc index 981408921..e1be84c01 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/nestor/nestor_test.cc +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/nestor/nestor_test.cc @@ -53,9 +53,9 @@ TEST_P(InputsToNestorCallTest, CheckInputsToNestorCall) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -155,9 +155,9 @@ TEST_P(BsqVacTest, CheckBsqVac) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/regularized_integrals/regularized_integrals_test.cc b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/regularized_integrals/regularized_integrals_test.cc index 90225eff0..7e6929d27 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/regularized_integrals/regularized_integrals_test.cc +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/regularized_integrals/regularized_integrals_test.cc @@ -108,9 +108,9 @@ TEST_P(GreenFTest, CheckGreenF) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/singular_integrals/singular_integrals_test.cc b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/singular_integrals/singular_integrals_test.cc index 04441ee78..afaac5a06 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/singular_integrals/singular_integrals_test.cc +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/singular_integrals/singular_integrals_test.cc @@ -118,9 +118,9 @@ TEST_P(AnalytTest, CheckAnalyt) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/surface_geometry/surface_geometry_test.cc b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/surface_geometry/surface_geometry_test.cc index 444e59ab5..4292902cb 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/surface_geometry/surface_geometry_test.cc +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/surface_geometry/surface_geometry_test.cc @@ -57,6 +57,7 @@ TEST_P(SurfaceGeometryTest, CheckSurfaceGeometry) { absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/ideal_mhd_model/ideal_mhd_model_test.cc b/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/ideal_mhd_model/ideal_mhd_model_test.cc index 4ce0a4bc6..77b3b3c3b 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/ideal_mhd_model/ideal_mhd_model_test.cc +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/ideal_mhd_model/ideal_mhd_model_test.cc @@ -507,9 +507,9 @@ TEST_P(FourierGeometryToStartWithTest, CheckFourierGeometryToStartWith) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -589,9 +589,9 @@ TEST_P(InverseFourierTransformGeometryTest, absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -751,9 +751,9 @@ TEST_P(JacobianTest, CheckJacobian) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -841,9 +841,9 @@ TEST_P(MetricTest, CheckMetric) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -928,9 +928,9 @@ TEST_P(VolumeTest, CheckVolume) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -997,9 +997,9 @@ TEST_P(ContravariantMagneticFieldTest, CheckContravariantMagneticField) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -1135,9 +1135,9 @@ TEST_P(CovariantMagneticFieldTest, CheckCovariantMagneticField) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -1210,9 +1210,9 @@ TEST_P(TotalPressureAndEnergiesTest, CheckTotalPressureAndEnergies) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -1292,9 +1292,9 @@ TEST_P(RadialForceBalanceTest, CheckRadialForceBalance) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -1383,9 +1383,9 @@ TEST_P(HybridLambdaForceTest, CheckHybridLambdaForce) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -1865,9 +1865,9 @@ TEST_P(RBsqTest, CheckRBsq) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -1930,9 +1930,9 @@ TEST_P(AliasTest, CheckAlias) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -2051,9 +2051,9 @@ TEST_P(RealspaceForcesTest, CheckRealspaceForces) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -2160,9 +2160,9 @@ TEST_P(ForwardTransformForcesTest, CheckForwardTransformForces) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -2287,9 +2287,9 @@ TEST_P(PhysicalForcesTest, CheckPhysicalForces) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -2373,9 +2373,9 @@ TEST_P(InvariantResidualsTest, CheckInvariantResiduals) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -2436,9 +2436,9 @@ TEST_P(ApplyM1PreconditionerTest, CheckApplyM1Preconditioner) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -2623,9 +2623,9 @@ TEST_P(ApplyPreconditionerTest, CheckApplyPreconditioner) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -2800,9 +2800,9 @@ TEST_P(PreconditionedResidualsTest, CheckPreconditionedResiduals) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/output_quantities/output_quantities_test.cc b/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/output_quantities/output_quantities_test.cc index 4251c09a4..814af5205 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/output_quantities/output_quantities_test.cc +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/output_quantities/output_quantities_test.cc @@ -63,9 +63,9 @@ TEST_P(GatherDataFromThreadsTest, CheckGatherDataFromThreads) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const Sizes& s = vmec.s_; @@ -126,9 +126,9 @@ TEST_P(GatherDataFromThreadsTest, CheckMatrixElementOrder) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const Sizes& s = vmec.s_; @@ -188,9 +188,9 @@ TEST_P(BSSRoutineOutputsTest, CheckBSSRoutineOutputs) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const Sizes& s = vmec.s_; @@ -280,9 +280,9 @@ TEST_P(LowpassFilterBSubsSTest, CheckLowpassFilterBSubsS) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const Sizes& s = vmec.s_; @@ -374,9 +374,9 @@ TEST_P(ExtrapolateBSubsSTest, CheckExtrapolateBSubsS) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const Sizes& s = vmec.s_; @@ -438,9 +438,9 @@ TEST_P(JxBOutputContentsTest, CheckJxBOutputContents) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const Sizes& s = vmec.s_; @@ -563,9 +563,9 @@ TEST_P(MercierStabilityTest, CheckMercierStability) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const Sizes& s = vmec.s_; @@ -775,9 +775,9 @@ TEST_P(Threed1FirstTableTest, CheckThreed1FirstTable) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const FlowControl& fc = vmec.fc_; @@ -905,9 +905,9 @@ TEST_P(Threed1GeometricMagneticQuantitiesTest, absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const Sizes& s = vmec.s_; @@ -1125,9 +1125,9 @@ TEST_P(Threed1VolumetricsTest, CheckThreed1Volumetrics) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); @@ -1203,9 +1203,9 @@ TEST_P(Threed1AxisTest, CheckThreed1Axis) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const Sizes& s = vmec.s_; @@ -1267,9 +1267,9 @@ TEST_P(Threed1BetasTest, CheckThreed1Betas) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const FlowControl& fc = vmec.fc_; @@ -1330,9 +1330,9 @@ TEST_P(Threed1ShafranovIntegralsTest, CheckThreed1ShafranovIntegrals) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const FlowControl& fc = vmec.fc_; @@ -1485,9 +1485,9 @@ TEST(TestOutputQuantities, CheckVacuumPotential) { const absl::StatusOr indata_json = ReadFile(absl::StrFormat("vmecpp/test_data/%s.json", identifier)); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; ASSERT_TRUE(vmec_indata->lfreeb); Vmec vmec(*vmec_indata); @@ -1554,8 +1554,9 @@ TEST(Threed1FreeBoundary, MatchesEducationalVmec) { const absl::StatusOr indata_json = ReadFile(absl::StrFormat("vmecpp/test_data/%s.json", identifier)); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr indata = VmecINDATA::FromJson(*indata_json); + absl::StatusOr indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(indata.ok()); + indata->mgrid_interpolation = MGridInterpolation::kLinear; ASSERT_TRUE(indata->lfreeb); auto maybe_vmec = Vmec::FromIndata(*indata); diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/vmec/vmec_test.cc b/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/vmec/vmec_test.cc index c3fcae8ce..0dba9f734 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/vmec/vmec_test.cc +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/vmec/vmec_test.cc @@ -189,9 +189,9 @@ TEST_P(EvolveTest, CheckEvolve) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = vmecpp::MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -311,9 +311,9 @@ TEST_P(MultigridResultTest, CheckMultigridResult) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - const absl::StatusOr vmec_indata = - VmecINDATA::FromJson(*indata_json); + absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); + vmec_indata->mgrid_interpolation = vmecpp::MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const Sizes& s = vmec.s_; diff --git a/tests/test_free_boundary.py b/tests/test_free_boundary.py index 352d14b0c..2ebe989ab 100644 --- a/tests/test_free_boundary.py +++ b/tests/test_free_boundary.py @@ -40,6 +40,8 @@ def test_run_free_boundary_from_response_table(): TEST_DATA_DIR / "coils.cth_like", makegrid_params ) vmec_input = vmecpp.VmecInput.from_file(TEST_DATA_DIR / "cth_like_free_bdy.json") + # This numerical reference uses historical bilinear interpolation. + vmec_input.mgrid_interpolation = vmecpp.MGridInterpolation.LINEAR vmec_output = vmecpp.run(vmec_input, response, verbose=False) assert vmec_output.wout.volume == pytest.approx(0.307512, 1e-5, 1e-5) diff --git a/tests/test_init.py b/tests/test_init.py index 77fafb491..50a734af7 100644 --- a/tests/test_init.py +++ b/tests/test_init.py @@ -297,6 +297,7 @@ def test_vmecwout_io(cma_output: vmecpp.VmecOutput): def test_against_reference_wout(indata_file, reference_wout_file, path_type): indata = vmecpp.VmecInput.from_file(TEST_DATA_DIR / indata_file) if indata.lfreeb: + indata.mgrid_interpolation = vmecpp.MGridInterpolation.LINEAR indata.mgrid_file = str( REPO_ROOT / "src" / "vmecpp" / "cpp" / indata.mgrid_file ) diff --git a/tests/test_mgrid_interpolation.py b/tests/test_mgrid_interpolation.py new file mode 100644 index 000000000..a6c12827a --- /dev/null +++ b/tests/test_mgrid_interpolation.py @@ -0,0 +1,83 @@ +# SPDX-FileCopyrightText: 2026 Proxima Fusion GmbH +# SPDX-License-Identifier: MIT +"""Vacuum interpolation selection, compatibility and equilibrium accuracy.""" + +from pathlib import Path + +import numpy as np +import pytest + +import vmecpp + +DATA = Path(__file__).parents[1] / "src/vmecpp/cpp/vmecpp/test_data" + + +@pytest.mark.parametrize("scheme", list(vmecpp.MGridInterpolation)) +def test_interpolation_round_trip(scheme, tmp_path): + inputs = vmecpp.VmecInput.from_file(DATA / "cth_like_free_bdy.json") + inputs.mgrid_interpolation = scheme + cpp = inputs._to_cpp_vmecindata() + restored = vmecpp.VmecInput._from_cpp_vmecindata(cpp) + assert restored.mgrid_interpolation == scheme + path = tmp_path / "input.json" + inputs.save(path) + assert vmecpp.VmecInput.from_file(path).mgrid_interpolation == scheme + + +def test_interpolation_default_and_validation(): + assert vmecpp.VmecInput().mgrid_interpolation == vmecpp.MGridInterpolation.CUBIC + assert ( + vmecpp.VmecInput.from_file(DATA / "cth_like_free_bdy.json").mgrid_interpolation + == vmecpp.MGridInterpolation.CUBIC + ) + with pytest.raises(ValueError, match="mgrid_interpolation"): + vmecpp.VmecInput.model_validate({"mgrid_interpolation": "nearest"}) + + +def test_historical_output_interpolation(): + inputs = vmecpp.VmecInput.from_file(DATA / "solovev.json") + saved = vmecpp.run(inputs, max_threads=2, verbose=False).model_dump(mode="json") + del saved["input"]["mgrid_interpolation"] + restored = vmecpp.VmecOutput.model_validate(saved) + assert restored.input.mgrid_interpolation == vmecpp.MGridInterpolation.LINEAR + assert "mgrid_interpolation" not in saved["input"] + + +@pytest.mark.parametrize("family", ["cth_like", "solovev"]) +def test_cubic_reduces_equilibrium_field_table_error(family): + parameters = vmecpp.MakegridParameters.from_file( + DATA / f"makegrid_parameters_{family}.json" + ) + parameters.number_of_r_grid_points = 129 + parameters.number_of_z_grid_points = 129 + field = vmecpp.MagneticFieldResponseTable.from_coils_file( + DATA / f"coils.{family}", parameters + ) + inputs = vmecpp.VmecInput.from_file(DATA / f"{family}_free_bdy.json") + inputs.ftol_array[-1] = 1e-12 + inputs.niter_array[:] = 12000 + reference = vmecpp.run(inputs, field, max_threads=2, verbose=False).wout + coarse_parameters = parameters.model_copy(deep=True) + coarse_parameters.number_of_r_grid_points = 33 + coarse_parameters.number_of_z_grid_points = 33 + arrays = {} + for component in ["b_r", "b_p", "b_z"]: + values = getattr(field, component) + grid = values.reshape(-1, parameters.number_of_phi_grid_points, 129, 129) + arrays[component] = np.ascontiguousarray(grid[:, :, ::4, ::4]).reshape( + values.shape[0], -1 + ) + coarse = vmecpp.MagneticFieldResponseTable(parameters=coarse_parameters, **arrays) + errors = {} + for scheme in vmecpp.MGridInterpolation: + inputs.mgrid_interpolation = scheme + output = vmecpp.run(inputs, coarse, max_threads=2, verbose=False).wout + assert max(output.fsqr, output.fsqz, output.fsql) <= inputs.ftol_array[-1] + errors[scheme] = np.linalg.norm(output.rmnc - reference.rmnc) + np.linalg.norm( + output.zmns - reference.zmns + ) + assert errors[vmecpp.MGridInterpolation.LINEAR] > 1e-5 + assert ( + errors[vmecpp.MGridInterpolation.CUBIC] + < 0.1 * errors[vmecpp.MGridInterpolation.LINEAR] + ) From 3784d5af009add14fb44b54f925773b21bec4f1c Mon Sep 17 00:00:00 2001 From: Philipp Bogdan Date: Mon, 7 Sep 2026 11:03:31 +0100 Subject: [PATCH 2/4] Record current-upstream interpolation validation --- benchmarks/mgrid_interpolation_results.json | 3856 +++++++++++++++++++ docs/vacuum_field_interpolation.md | 41 +- 2 files changed, 3883 insertions(+), 14 deletions(-) create mode 100644 benchmarks/mgrid_interpolation_results.json diff --git a/benchmarks/mgrid_interpolation_results.json b/benchmarks/mgrid_interpolation_results.json new file mode 100644 index 000000000..31606be17 --- /dev/null +++ b/benchmarks/mgrid_interpolation_results.json @@ -0,0 +1,3856 @@ +{ + "baseline_commit": "98aaaeadad261763fc7147573580f7d908eec77c", + "candidate_numerical_commit": "b301d2bdd82b02c8c7f3a3191bf752eb6eb73e04", + "baseline_binaries": { + "wheel": "vmecpp-0.7.4.dev73+g98aaaeada-cp314-cp314-macosx_26_0_arm64.whl", + "wheel_sha256": "f839bbabc6873132e0c9c5ba6f00188f2c1c75199da23053b0a8cbd4dd6ba27c", + "binaries": { + "package-main-current/vmecpp/cpp/libvmecpp_core.dylib": "998dc5638891ce70be4944d4d50f8dcf00b1baf8243864a6a73deba836487d0d", + "package-main-current/vmecpp/cpp/_vmecpp.cpython-314-darwin.so": "f3a99e42b0f8e15876940241751acf1cb1350c109c7f3c624dfb19a9cdef1f8f" + } + }, + "candidate_binaries": { + "wheel": "vmecpp-0.7.4.dev74+gb301d2bdd-cp314-cp314-macosx_26_0_arm64.whl", + "wheel_sha256": "8041d0ef6936fe9b3f605772a597a6f21fb84bc1cc7f095a05081606e7c1f1cb", + "binaries": { + "package-mgrid-api-final/vmecpp/cpp/libvmecpp_core.dylib": "93b2bb3cd3014e41ac49ab04020473540dfce028645b2cdd6ebc39a93788ca5c", + "package-mgrid-api-final/vmecpp/cpp/_vmecpp.cpython-314-darwin.so": "8474596f3ab87f97f977f4ba51d32d67e199d43e2686284e0fdceb243d1edea7" + } + }, + "hardware": { + "cpu": "Apple M4", + "cpu_cores": 10, + "memory_gib": 16, + "solver_threads": 4 + }, + "timing_method": "Six adjacent randomly ordered process-isolated pairs per case/grid, with no concurrent builds or scientific checks. Timed solver includes output quantities; excludes table load/preparation and artifact writes.", + "timing_summary": [ + { + "case": "cth_like_free_bdy", + "grid": 51, + "pairs": 6, + "baseline_median_seconds": 0.6700645625005563, + "cubic_median_seconds": 0.6653486250006608, + "median_paired_ratio": 0.9936818087889222, + "paired_ratio_bootstrap_95_interval": [ + 0.9886482917090493, + 1.007451841405793 + ], + "baseline_iterations": [ + 932 + ], + "cubic_iterations": [ + 923 + ], + "max_pair_gap_seconds": 1.3945279121398926, + "all_converged": true + }, + { + "case": "cth_like_free_bdy", + "grid": 101, + "pairs": 6, + "baseline_median_seconds": 0.6723707290002494, + "cubic_median_seconds": 0.6710321869995823, + "median_paired_ratio": 1.0027240088514366, + "paired_ratio_bootstrap_95_interval": [ + 0.9919462379002657, + 1.0107305913795508 + ], + "baseline_iterations": [ + 932 + ], + "cubic_iterations": [ + 923 + ], + "max_pair_gap_seconds": 1.3829610347747803, + "all_converged": true + }, + { + "case": "quasr65579", + "grid": 51, + "pairs": 6, + "baseline_median_seconds": 3.313661187499747, + "cubic_median_seconds": 3.2570593125001324, + "median_paired_ratio": 0.9831139138619074, + "paired_ratio_bootstrap_95_interval": [ + 0.9738116532002452, + 0.9904361909209216 + ], + "baseline_iterations": [ + 4420 + ], + "cubic_iterations": [ + 4333 + ], + "max_pair_gap_seconds": 3.940016031265259, + "all_converged": true + }, + { + "case": "quasr65579", + "grid": 101, + "pairs": 6, + "baseline_median_seconds": 3.2469350624996878, + "cubic_median_seconds": 3.2625043329999244, + "median_paired_ratio": 1.009651843760631, + "paired_ratio_bootstrap_95_interval": [ + 0.9981056183215149, + 1.0128349640749716 + ], + "baseline_iterations": [ + 4331 + ], + "cubic_iterations": [ + 4334 + ], + "max_pair_gap_seconds": 3.9445669651031494, + "all_converged": true + }, + { + "case": "quasr954", + "grid": 51, + "pairs": 6, + "baseline_median_seconds": 3.015163666999797, + "cubic_median_seconds": 2.84495568750026, + "median_paired_ratio": 0.9437288421559615, + "paired_ratio_bootstrap_95_interval": [ + 0.9157068190814703, + 0.9641103004183531 + ], + "baseline_iterations": [ + 3776 + ], + "cubic_iterations": [ + 3560 + ], + "max_pair_gap_seconds": 3.711254835128784, + "all_converged": true + }, + { + "case": "quasr954", + "grid": 101, + "pairs": 6, + "baseline_median_seconds": 2.7306937289995403, + "cubic_median_seconds": 2.8276230419996864, + "median_paired_ratio": 1.0368920006994617, + "paired_ratio_bootstrap_95_interval": [ + 1.0208387882808223, + 1.081028438338413 + ], + "baseline_iterations": [ + 3450 + ], + "cubic_iterations": [ + 3557 + ], + "max_pair_gap_seconds": 3.6750328540802, + "all_converged": true + }, + { + "case": "solovev_free_bdy", + "grid": 51, + "pairs": 6, + "baseline_median_seconds": 0.5443804374990577, + "cubic_median_seconds": 0.5728189374995054, + "median_paired_ratio": 1.0522539419721295, + "paired_ratio_bootstrap_95_interval": [ + 1.038460626138216, + 1.0765949285516896 + ], + "baseline_iterations": [ + 1032 + ], + "cubic_iterations": [ + 1091 + ], + "max_pair_gap_seconds": 0.8980958461761475, + "all_converged": true + }, + { + "case": "solovev_free_bdy", + "grid": 101, + "pairs": 6, + "baseline_median_seconds": 0.5386313749995679, + "cubic_median_seconds": 0.5734362080002029, + "median_paired_ratio": 1.0613955382073836, + "paired_ratio_bootstrap_95_interval": [ + 1.0528939796113375, + 1.079103890289255 + ], + "baseline_iterations": [ + 1023 + ], + "cubic_iterations": [ + 1091 + ], + "max_pair_gap_seconds": 0.8471479415893555, + "all_converged": true + }, + { + "case": "cth_like_free_bdy_asym", + "grid": 101, + "pairs": 6, + "baseline_median_seconds": 0.2837164170005053, + "cubic_median_seconds": 0.28723585400075535, + "median_paired_ratio": 1.0135331648136283, + "paired_ratio_bootstrap_95_interval": [ + 0.9769079528600499, + 1.0295216268485363 + ], + "baseline_iterations": [ + 246 + ], + "cubic_iterations": [ + 246 + ], + "max_pair_gap_seconds": 0.9026389122009277, + "all_converged": true + }, + { + "case": "w7x_beta1_mn5_ns51", + "grid": 121, + "pairs": 6, + "baseline_median_seconds": 3.623771458500414, + "cubic_median_seconds": 3.7732061044998773, + "median_paired_ratio": 1.0038338863061975, + "paired_ratio_bootstrap_95_interval": [ + 0.9896537131653105, + 1.0797999802604306 + ], + "baseline_iterations": [ + 1568 + ], + "cubic_iterations": [ + 1562 + ], + "max_pair_gap_seconds": 6.5874152183532715, + "all_converged": true + } + ], + "paired_solver_observations": [ + { + "case": "cth_like_free_bdy", + "label": "bilinear", + "grid": 101, + "repeat": 0, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.6739931250012887, + "iterations": 932, + "residuals": [ + 9.94702921636879e-15, + 2.2197681395128718e-15, + 6.929399001455904e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "bilinear", + "grid": 101, + "repeat": 1, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.6699125830000412, + "iterations": 932, + "residuals": [ + 9.94702921636879e-15, + 2.2197681395128718e-15, + 6.929399001455904e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "bilinear", + "grid": 101, + "repeat": 2, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.6708192080004665, + "iterations": 932, + "residuals": [ + 9.94702921636879e-15, + 2.2197681395128718e-15, + 6.929399001455904e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "bilinear", + "grid": 101, + "repeat": 3, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.6740437500011467, + "iterations": 932, + "residuals": [ + 9.94702921636879e-15, + 2.2197681395128718e-15, + 6.929399001455904e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "bilinear", + "grid": 101, + "repeat": 4, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.6637898330009193, + "iterations": 932, + "residuals": [ + 9.94702921636879e-15, + 2.2197681395128718e-15, + 6.929399001455904e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "bilinear", + "grid": 101, + "repeat": 5, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.6739222500000324, + "iterations": 932, + "residuals": [ + 9.94702921636879e-15, + 2.2197681395128718e-15, + 6.929399001455904e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "bilinear", + "grid": 51, + "repeat": 0, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.6658354999999574, + "iterations": 932, + "residuals": [ + 9.848567628257376e-15, + 2.1739815301107182e-15, + 6.700991536538891e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "bilinear", + "grid": 51, + "repeat": 1, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.6714527080002881, + "iterations": 932, + "residuals": [ + 9.848567628257376e-15, + 2.1739815301107182e-15, + 6.700991536538891e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "bilinear", + "grid": 51, + "repeat": 2, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.6723576250005863, + "iterations": 932, + "residuals": [ + 9.848567628257376e-15, + 2.1739815301107182e-15, + 6.700991536538891e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "bilinear", + "grid": 51, + "repeat": 3, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.6689486249997572, + "iterations": 932, + "residuals": [ + 9.848567628257376e-15, + 2.1739815301107182e-15, + 6.700991536538891e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "bilinear", + "grid": 51, + "repeat": 4, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.6626263750004, + "iterations": 932, + "residuals": [ + 9.848567628257376e-15, + 2.1739815301107182e-15, + 6.700991536538891e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "bilinear", + "grid": 51, + "repeat": 5, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.6711805000013555, + "iterations": 932, + "residuals": [ + 9.848567628257376e-15, + 2.1739815301107182e-15, + 6.700991536538891e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "cubic", + "grid": 101, + "repeat": 0, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.6694865829995251, + "iterations": 923, + "residuals": [ + 9.940360904367503e-15, + 2.2312773636091636e-15, + 7.216405526967652e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "cubic", + "grid": 101, + "repeat": 1, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.6636012079998181, + "iterations": 923, + "residuals": [ + 9.940360904367503e-15, + 2.2312773636091636e-15, + 7.216405526967652e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "cubic", + "grid": 101, + "repeat": 2, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.6725777909996395, + "iterations": 923, + "residuals": [ + 9.940360904367503e-15, + 2.2312773636091636e-15, + 7.216405526967652e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "cubic", + "grid": 101, + "repeat": 3, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.675948916001289, + "iterations": 923, + "residuals": [ + 9.940360904367503e-15, + 2.2312773636091636e-15, + 7.216405526967652e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "cubic", + "grid": 101, + "repeat": 4, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.6674749579997297, + "iterations": 923, + "residuals": [ + 9.940360904367503e-15, + 2.2312773636091636e-15, + 7.216405526967652e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "cubic", + "grid": 101, + "repeat": 5, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.6846440419994906, + "iterations": 923, + "residuals": [ + 9.940360904367503e-15, + 2.2312773636091636e-15, + 7.216405526967652e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "cubic", + "grid": 51, + "repeat": 0, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.661698541000078, + "iterations": 923, + "residuals": [ + 9.939179494345034e-15, + 2.231075627306393e-15, + 7.215978829624456e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "cubic", + "grid": 51, + "repeat": 1, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.6708734580006421, + "iterations": 923, + "residuals": [ + 9.939179494345034e-15, + 2.231075627306393e-15, + 7.215978829624456e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "cubic", + "grid": 51, + "repeat": 2, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.6638278749996971, + "iterations": 923, + "residuals": [ + 9.939179494345034e-15, + 2.231075627306393e-15, + 7.215978829624456e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "cubic", + "grid": 51, + "repeat": 3, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.6622477079999953, + "iterations": 923, + "residuals": [ + 9.939179494345034e-15, + 2.231075627306393e-15, + 7.215978829624456e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "cubic", + "grid": 51, + "repeat": 4, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.6730735839992121, + "iterations": 923, + "residuals": [ + 9.939179494345034e-15, + 2.231075627306393e-15, + 7.215978829624456e-15 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy", + "label": "cubic", + "grid": 51, + "repeat": 5, + "threads": 4, + "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", + "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", + "converged": true, + "solve_seconds": 0.6668693750016246, + "iterations": 923, + "residuals": [ + 9.939179494345034e-15, + 2.231075627306393e-15, + 7.215978829624456e-15 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "bilinear", + "grid": 101, + "repeat": 0, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.2672867080000287, + "iterations": 4331, + "residuals": [ + 9.79420332121697e-15, + 8.293001006491186e-15, + 2.8856047189300946e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "bilinear", + "grid": 101, + "repeat": 1, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.2436648749990127, + "iterations": 4331, + "residuals": [ + 9.79420332121697e-15, + 8.293001006491186e-15, + 2.8856047189300946e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "bilinear", + "grid": 101, + "repeat": 2, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.251058208001268, + "iterations": 4331, + "residuals": [ + 9.79420332121697e-15, + 8.293001006491186e-15, + 2.8856047189300946e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "bilinear", + "grid": 101, + "repeat": 3, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.208497540999815, + "iterations": 4331, + "residuals": [ + 9.79420332121697e-15, + 8.293001006491186e-15, + 2.8856047189300946e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "bilinear", + "grid": 101, + "repeat": 4, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.250205250000363, + "iterations": 4331, + "residuals": [ + 9.79420332121697e-15, + 8.293001006491186e-15, + 2.8856047189300946e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "bilinear", + "grid": 101, + "repeat": 5, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.240545499998916, + "iterations": 4331, + "residuals": [ + 9.79420332121697e-15, + 8.293001006491186e-15, + 2.8856047189300946e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "bilinear", + "grid": 51, + "repeat": 0, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.317139667000447, + "iterations": 4420, + "residuals": [ + 9.568106835323592e-15, + 3.040872934360011e-15, + 8.06387687107177e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "bilinear", + "grid": 51, + "repeat": 1, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.3105836249997083, + "iterations": 4420, + "residuals": [ + 9.568106835323592e-15, + 3.040872934360011e-15, + 8.06387687107177e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "bilinear", + "grid": 51, + "repeat": 2, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.3773983329992916, + "iterations": 4420, + "residuals": [ + 9.568106835323592e-15, + 3.040872934360011e-15, + 8.06387687107177e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "bilinear", + "grid": 51, + "repeat": 3, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.266716999998607, + "iterations": 4420, + "residuals": [ + 9.568106835323592e-15, + 3.040872934360011e-15, + 8.06387687107177e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "bilinear", + "grid": 51, + "repeat": 4, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.316738749999786, + "iterations": 4420, + "residuals": [ + 9.568106835323592e-15, + 3.040872934360011e-15, + 8.06387687107177e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "bilinear", + "grid": 51, + "repeat": 5, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.2971438339991437, + "iterations": 4420, + "residuals": [ + 9.568106835323592e-15, + 3.040872934360011e-15, + 8.06387687107177e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "cubic", + "grid": 101, + "repeat": 0, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.255666375000146, + "iterations": 4334, + "residuals": [ + 9.99339290154838e-15, + 8.256024968853219e-15, + 5.616665934564166e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "cubic", + "grid": 101, + "repeat": 1, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.2876354580002953, + "iterations": 4334, + "residuals": [ + 9.99339290154838e-15, + 8.256024968853219e-15, + 5.616665934564166e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "cubic", + "grid": 101, + "repeat": 2, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.250303332999465, + "iterations": 4334, + "residuals": [ + 9.99339290154838e-15, + 8.256024968853219e-15, + 5.616665934564166e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "cubic", + "grid": 101, + "repeat": 3, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.241921374999947, + "iterations": 4334, + "residuals": [ + 9.99339290154838e-15, + 8.256024968853219e-15, + 5.616665934564166e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "cubic", + "grid": 101, + "repeat": 4, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.289578542000527, + "iterations": 4334, + "residuals": [ + 9.99339290154838e-15, + 8.256024968853219e-15, + 5.616665934564166e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "cubic", + "grid": 101, + "repeat": 5, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.2693422909997025, + "iterations": 4334, + "residuals": [ + 9.99339290154838e-15, + 8.256024968853219e-15, + 5.616665934564166e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "cubic", + "grid": 51, + "repeat": 0, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.219808334000845, + "iterations": 4333, + "residuals": [ + 9.208848237073561e-15, + 8.201582502724637e-15, + 5.577967132409644e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "cubic", + "grid": 51, + "repeat": 1, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.259775750000699, + "iterations": 4333, + "residuals": [ + 9.208848237073561e-15, + 8.201582502724637e-15, + 5.577967132409644e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "cubic", + "grid": 51, + "repeat": 2, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.315169542000149, + "iterations": 4333, + "residuals": [ + 9.208848237073561e-15, + 8.201582502724637e-15, + 5.577967132409644e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "cubic", + "grid": 51, + "repeat": 3, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.2543428749995655, + "iterations": 4333, + "residuals": [ + 9.208848237073561e-15, + 8.201582502724637e-15, + 5.577967132409644e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "cubic", + "grid": 51, + "repeat": 4, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.2658610420003242, + "iterations": 4333, + "residuals": [ + 9.208848237073561e-15, + 8.201582502724637e-15, + 5.577967132409644e-16 + ], + "finite": true + }, + { + "case": "quasr65579", + "label": "cubic", + "grid": 51, + "repeat": 5, + "threads": 4, + "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", + "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", + "converged": true, + "solve_seconds": 3.2211949579996144, + "iterations": 4333, + "residuals": [ + 9.208848237073561e-15, + 8.201582502724637e-15, + 5.577967132409644e-16 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "bilinear", + "grid": 101, + "repeat": 0, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 2.716841666999244, + "iterations": 3450, + "residuals": [ + 9.910221713579732e-15, + 8.035712626226745e-16, + 1.1066432173669361e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "bilinear", + "grid": 101, + "repeat": 1, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 2.7290611669995997, + "iterations": 3450, + "residuals": [ + 9.910221713579732e-15, + 8.035712626226745e-16, + 1.1066432173669361e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "bilinear", + "grid": 101, + "repeat": 2, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 2.7328035829996224, + "iterations": 3450, + "residuals": [ + 9.910221713579732e-15, + 8.035712626226745e-16, + 1.1066432173669361e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "bilinear", + "grid": 101, + "repeat": 3, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 2.772418041999117, + "iterations": 3450, + "residuals": [ + 9.910221713579732e-15, + 8.035712626226745e-16, + 1.1066432173669361e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "bilinear", + "grid": 101, + "repeat": 4, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 2.732326290999481, + "iterations": 3450, + "residuals": [ + 9.910221713579732e-15, + 8.035712626226745e-16, + 1.1066432173669361e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "bilinear", + "grid": 101, + "repeat": 5, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 2.72498933299903, + "iterations": 3450, + "residuals": [ + 9.910221713579732e-15, + 8.035712626226745e-16, + 1.1066432173669361e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "bilinear", + "grid": 51, + "repeat": 0, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 2.980942624999443, + "iterations": 3776, + "residuals": [ + 9.72680482384537e-15, + 1.1872961179050188e-15, + 1.0490774441639535e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "bilinear", + "grid": 51, + "repeat": 1, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 2.9873447499994654, + "iterations": 3776, + "residuals": [ + 9.72680482384537e-15, + 1.1872961179050188e-15, + 1.0490774441639535e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "bilinear", + "grid": 51, + "repeat": 2, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 3.0429825840001286, + "iterations": 3776, + "residuals": [ + 9.72680482384537e-15, + 1.1872961179050188e-15, + 1.0490774441639535e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "bilinear", + "grid": 51, + "repeat": 3, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 3.0504154169993853, + "iterations": 3776, + "residuals": [ + 9.72680482384537e-15, + 1.1872961179050188e-15, + 1.0490774441639535e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "bilinear", + "grid": 51, + "repeat": 4, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 3.113090167000337, + "iterations": 3776, + "residuals": [ + 9.72680482384537e-15, + 1.1872961179050188e-15, + 1.0490774441639535e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "bilinear", + "grid": 51, + "repeat": 5, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 2.9663114169998153, + "iterations": 3776, + "residuals": [ + 9.72680482384537e-15, + 1.1872961179050188e-15, + 1.0490774441639535e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "cubic", + "grid": 101, + "repeat": 0, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 2.8060503329998028, + "iterations": 3557, + "residuals": [ + 9.954406678245695e-15, + 8.8313243813586e-16, + 1.0098617411454938e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "cubic", + "grid": 101, + "repeat": 1, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 2.8195201250000537, + "iterations": 3557, + "residuals": [ + 9.954406678245695e-15, + 8.8313243813586e-16, + 1.0098617411454938e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "cubic", + "grid": 101, + "repeat": 2, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 3.0326109590005217, + "iterations": 3557, + "residuals": [ + 9.954406678245695e-15, + 8.8313243813586e-16, + 1.0098617411454938e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "cubic", + "grid": 101, + "repeat": 3, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 2.796932167000705, + "iterations": 3557, + "residuals": [ + 9.954406678245695e-15, + 8.8313243813586e-16, + 1.0098617411454938e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "cubic", + "grid": 101, + "repeat": 4, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 2.875363541999832, + "iterations": 3557, + "residuals": [ + 9.954406678245695e-15, + 8.8313243813586e-16, + 1.0098617411454938e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "cubic", + "grid": 101, + "repeat": 5, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 2.835725958999319, + "iterations": 3557, + "residuals": [ + 9.954406678245695e-15, + 8.8313243813586e-16, + 1.0098617411454938e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "cubic", + "grid": 51, + "repeat": 0, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 2.822915583001304, + "iterations": 3560, + "residuals": [ + 9.859245584638774e-15, + 8.548087339707465e-16, + 1.0037668259899318e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "cubic", + "grid": 51, + "repeat": 1, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 2.891310834000251, + "iterations": 3560, + "residuals": [ + 9.859245584638774e-15, + 8.548087339707465e-16, + 1.0037668259899318e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "cubic", + "grid": 51, + "repeat": 2, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 2.8618342089994258, + "iterations": 3560, + "residuals": [ + 9.859245584638774e-15, + 8.548087339707465e-16, + 1.0037668259899318e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "cubic", + "grid": 51, + "repeat": 3, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 2.841162250000707, + "iterations": 3560, + "residuals": [ + 9.859245584638774e-15, + 8.548087339707465e-16, + 1.0037668259899318e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "cubic", + "grid": 51, + "repeat": 4, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 2.80181816699951, + "iterations": 3560, + "residuals": [ + 9.859245584638774e-15, + 8.548087339707465e-16, + 1.0037668259899318e-15 + ], + "finite": true + }, + { + "case": "quasr954", + "label": "cubic", + "grid": 51, + "repeat": 5, + "threads": 4, + "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", + "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", + "converged": true, + "solve_seconds": 2.848749124999813, + "iterations": 3560, + "residuals": [ + 9.859245584638774e-15, + 8.548087339707465e-16, + 1.0037668259899318e-15 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "bilinear", + "grid": 101, + "repeat": 0, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.5364692919993104, + "iterations": 1023, + "residuals": [ + 9.663062406676233e-15, + 1.125348000369618e-15, + 4.1218087077888227e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "bilinear", + "grid": 101, + "repeat": 1, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.54343020899978, + "iterations": 1023, + "residuals": [ + 9.663062406676233e-15, + 1.125348000369618e-15, + 4.1218087077888227e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "bilinear", + "grid": 101, + "repeat": 2, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.5400532499988913, + "iterations": 1023, + "residuals": [ + 9.663062406676233e-15, + 1.125348000369618e-15, + 4.1218087077888227e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "bilinear", + "grid": 101, + "repeat": 3, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.5419814169999881, + "iterations": 1023, + "residuals": [ + 9.663062406676233e-15, + 1.125348000369618e-15, + 4.1218087077888227e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "bilinear", + "grid": 101, + "repeat": 4, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.5329177500007063, + "iterations": 1023, + "residuals": [ + 9.663062406676233e-15, + 1.125348000369618e-15, + 4.1218087077888227e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "bilinear", + "grid": 101, + "repeat": 5, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.5372095000002446, + "iterations": 1023, + "residuals": [ + 9.663062406676233e-15, + 1.125348000369618e-15, + 4.1218087077888227e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "bilinear", + "grid": 51, + "repeat": 0, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.5529846669996914, + "iterations": 1032, + "residuals": [ + 9.719197086483415e-15, + 7.385108774954436e-16, + 3.5178658456126324e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "bilinear", + "grid": 51, + "repeat": 1, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.5414760830008163, + "iterations": 1032, + "residuals": [ + 9.719197086483415e-15, + 7.385108774954436e-16, + 3.5178658456126324e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "bilinear", + "grid": 51, + "repeat": 2, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.5465043329986656, + "iterations": 1032, + "residuals": [ + 9.719197086483415e-15, + 7.385108774954436e-16, + 3.5178658456126324e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "bilinear", + "grid": 51, + "repeat": 3, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.5468964579995372, + "iterations": 1032, + "residuals": [ + 9.719197086483415e-15, + 7.385108774954436e-16, + 3.5178658456126324e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "bilinear", + "grid": 51, + "repeat": 4, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.5316857920006441, + "iterations": 1032, + "residuals": [ + 9.719197086483415e-15, + 7.385108774954436e-16, + 3.5178658456126324e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "bilinear", + "grid": 51, + "repeat": 5, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.5422565419994498, + "iterations": 1032, + "residuals": [ + 9.719197086483415e-15, + 7.385108774954436e-16, + 3.5178658456126324e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "cubic", + "grid": 101, + "repeat": 0, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.5788228330002312, + "iterations": 1091, + "residuals": [ + 9.757424624857677e-15, + 1.0418715641757644e-15, + 6.553517718568496e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "cubic", + "grid": 101, + "repeat": 1, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.5800559589988552, + "iterations": 1091, + "residuals": [ + 9.757424624857677e-15, + 1.0418715641757644e-15, + 6.553517718568496e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "cubic", + "grid": 101, + "repeat": 2, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.5675554999997985, + "iterations": 1091, + "residuals": [ + 9.757424624857677e-15, + 1.0418715641757644e-15, + 6.553517718568496e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "cubic", + "grid": 101, + "repeat": 3, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.5717160829990462, + "iterations": 1091, + "residuals": [ + 9.757424624857677e-15, + 1.0418715641757644e-15, + 6.553517718568496e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "cubic", + "grid": 101, + "repeat": 4, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.5751563330013596, + "iterations": 1091, + "residuals": [ + 9.757424624857677e-15, + 1.0418715641757644e-15, + 6.553517718568496e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "cubic", + "grid": 101, + "repeat": 5, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.5669675419994746, + "iterations": 1091, + "residuals": [ + 9.757424624857677e-15, + 1.0418715641757644e-15, + 6.553517718568496e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "cubic", + "grid": 51, + "repeat": 0, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.5712032499995985, + "iterations": 1091, + "residuals": [ + 9.791986845926976e-15, + 1.0432255087636509e-15, + 6.557794877062588e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "cubic", + "grid": 51, + "repeat": 1, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.5762646660004975, + "iterations": 1091, + "residuals": [ + 9.791986845926976e-15, + 1.0432255087636509e-15, + 6.557794877062588e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "cubic", + "grid": 51, + "repeat": 2, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.5731253750000178, + "iterations": 1091, + "residuals": [ + 9.791986845926976e-15, + 1.0432255087636509e-15, + 6.557794877062588e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "cubic", + "grid": 51, + "repeat": 3, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.5709464169995044, + "iterations": 1091, + "residuals": [ + 9.791986845926976e-15, + 1.0432255087636509e-15, + 6.557794877062588e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "cubic", + "grid": 51, + "repeat": 4, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.5789750830008416, + "iterations": 1091, + "residuals": [ + 9.791986845926976e-15, + 1.0432255087636509e-15, + 6.557794877062588e-16 + ], + "finite": true + }, + { + "case": "solovev_free_bdy", + "label": "cubic", + "grid": 51, + "repeat": 5, + "threads": 4, + "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", + "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", + "converged": true, + "solve_seconds": 0.572512499998993, + "iterations": 1091, + "residuals": [ + 9.791986845926976e-15, + 1.0432255087636509e-15, + 6.557794877062588e-16 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy_asym", + "label": "bilinear", + "grid": 101, + "repeat": 0, + "threads": 4, + "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", + "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", + "converged": true, + "solve_seconds": 0.28318066700012423, + "iterations": 246, + "residuals": [ + 9.571007874828855e-09, + 3.901093718570839e-09, + 1.8401448077283115e-09 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy_asym", + "label": "bilinear", + "grid": 101, + "repeat": 1, + "threads": 4, + "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", + "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", + "converged": true, + "solve_seconds": 0.30209616699903563, + "iterations": 246, + "residuals": [ + 9.571007874828855e-09, + 3.901093718570839e-09, + 1.8401448077283115e-09 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy_asym", + "label": "bilinear", + "grid": 101, + "repeat": 2, + "threads": 4, + "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", + "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", + "converged": true, + "solve_seconds": 0.28424570900097024, + "iterations": 246, + "residuals": [ + 9.571007874828855e-09, + 3.901093718570839e-09, + 1.8401448077283115e-09 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy_asym", + "label": "bilinear", + "grid": 101, + "repeat": 3, + "threads": 4, + "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", + "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", + "converged": true, + "solve_seconds": 0.2815274580007099, + "iterations": 246, + "residuals": [ + 9.571007874828855e-09, + 3.901093718570839e-09, + 1.8401448077283115e-09 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy_asym", + "label": "bilinear", + "grid": 101, + "repeat": 4, + "threads": 4, + "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", + "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", + "converged": true, + "solve_seconds": 0.2831871250000404, + "iterations": 246, + "residuals": [ + 9.571007874828855e-09, + 3.901093718570839e-09, + 1.8401448077283115e-09 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy_asym", + "label": "bilinear", + "grid": 101, + "repeat": 5, + "threads": 4, + "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", + "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", + "converged": true, + "solve_seconds": 0.28473354099878634, + "iterations": 246, + "residuals": [ + 9.571007874828855e-09, + 3.901093718570839e-09, + 1.8401448077283115e-09 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy_asym", + "label": "cubic", + "grid": 101, + "repeat": 0, + "threads": 4, + "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", + "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", + "converged": true, + "solve_seconds": 0.2933339999999589, + "iterations": 246, + "residuals": [ + 9.557106333684298e-09, + 3.909633070099054e-09, + 1.8473280371221558e-09 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy_asym", + "label": "cubic", + "grid": 101, + "repeat": 1, + "threads": 4, + "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", + "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", + "converged": true, + "solve_seconds": 0.2846745419992658, + "iterations": 246, + "residuals": [ + 9.557106333684298e-09, + 3.909633070099054e-09, + 1.8473280371221558e-09 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy_asym", + "label": "cubic", + "grid": 101, + "repeat": 2, + "threads": 4, + "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", + "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", + "converged": true, + "solve_seconds": 0.288032166999983, + "iterations": 246, + "residuals": [ + 9.557106333684298e-09, + 3.909633070099054e-09, + 1.8473280371221558e-09 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy_asym", + "label": "cubic", + "grid": 101, + "repeat": 3, + "threads": 4, + "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", + "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", + "converged": true, + "solve_seconds": 0.28539712500059977, + "iterations": 246, + "residuals": [ + 9.557106333684298e-09, + 3.909633070099054e-09, + 1.8473280371221558e-09 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy_asym", + "label": "cubic", + "grid": 101, + "repeat": 4, + "threads": 4, + "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", + "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", + "converged": true, + "solve_seconds": 0.2864395410015277, + "iterations": 246, + "residuals": [ + 9.557106333684298e-09, + 3.909633070099054e-09, + 1.8473280371221558e-09 + ], + "finite": true + }, + { + "case": "cth_like_free_bdy_asym", + "label": "cubic", + "grid": 101, + "repeat": 5, + "threads": 4, + "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", + "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", + "converged": true, + "solve_seconds": 0.29133612500118033, + "iterations": 246, + "residuals": [ + 9.557106333684298e-09, + 3.909633070099054e-09, + 1.8473280371221558e-09 + ], + "finite": true + }, + { + "case": "w7x_beta1_mn5_ns51", + "label": "bilinear", + "grid": 121, + "repeat": 0, + "threads": 4, + "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", + "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", + "converged": true, + "solve_seconds": 3.561719625000478, + "iterations": 1568, + "residuals": [ + 9.632490109758147e-13, + 4.3932672994201857e-13, + 9.262636663078502e-13 + ], + "finite": true + }, + { + "case": "w7x_beta1_mn5_ns51", + "label": "bilinear", + "grid": 121, + "repeat": 1, + "threads": 4, + "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", + "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", + "converged": true, + "solve_seconds": 3.620170042000609, + "iterations": 1568, + "residuals": [ + 9.632490109758147e-13, + 4.3932672994201857e-13, + 9.262636663078502e-13 + ], + "finite": true + }, + { + "case": "w7x_beta1_mn5_ns51", + "label": "bilinear", + "grid": 121, + "repeat": 2, + "threads": 4, + "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", + "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", + "converged": true, + "solve_seconds": 3.627372875000219, + "iterations": 1568, + "residuals": [ + 9.632490109758147e-13, + 4.3932672994201857e-13, + 9.262636663078502e-13 + ], + "finite": true + }, + { + "case": "w7x_beta1_mn5_ns51", + "label": "bilinear", + "grid": 121, + "repeat": 3, + "threads": 4, + "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", + "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", + "converged": true, + "solve_seconds": 3.9134961670006305, + "iterations": 1568, + "residuals": [ + 9.632490109758147e-13, + 4.3932672994201857e-13, + 9.262636663078502e-13 + ], + "finite": true + }, + { + "case": "w7x_beta1_mn5_ns51", + "label": "bilinear", + "grid": 121, + "repeat": 4, + "threads": 4, + "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", + "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", + "converged": true, + "solve_seconds": 3.611911665999287, + "iterations": 1568, + "residuals": [ + 9.632490109758147e-13, + 4.3932672994201857e-13, + 9.262636663078502e-13 + ], + "finite": true + }, + { + "case": "w7x_beta1_mn5_ns51", + "label": "bilinear", + "grid": 121, + "repeat": 5, + "threads": 4, + "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", + "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", + "converged": true, + "solve_seconds": 3.723594459001106, + "iterations": 1568, + "residuals": [ + 9.632490109758147e-13, + 4.3932672994201857e-13, + 9.262636663078502e-13 + ], + "finite": true + }, + { + "case": "w7x_beta1_mn5_ns51", + "label": "cubic", + "grid": 121, + "repeat": 0, + "threads": 4, + "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", + "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", + "converged": true, + "solve_seconds": 3.5671790420001344, + "iterations": 1562, + "residuals": [ + 9.896372005060387e-13, + 4.921735953528513e-13, + 8.960529552328282e-13 + ], + "finite": true + }, + { + "case": "w7x_beta1_mn5_ns51", + "label": "cubic", + "grid": 121, + "repeat": 1, + "threads": 4, + "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", + "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", + "converged": true, + "solve_seconds": 3.6419163749997097, + "iterations": 1562, + "residuals": [ + 9.896372005060387e-13, + 4.921735953528513e-13, + 8.960529552328282e-13 + ], + "finite": true + }, + { + "case": "w7x_beta1_mn5_ns51", + "label": "cubic", + "grid": 121, + "repeat": 2, + "threads": 4, + "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", + "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", + "converged": true, + "solve_seconds": 3.912464834000275, + "iterations": 1562, + "residuals": [ + 9.896372005060387e-13, + 4.921735953528513e-13, + 8.960529552328282e-13 + ], + "finite": true + }, + { + "case": "w7x_beta1_mn5_ns51", + "label": "cubic", + "grid": 121, + "repeat": 3, + "threads": 4, + "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", + "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", + "converged": true, + "solve_seconds": 3.91999562500132, + "iterations": 1562, + "residuals": [ + 9.896372005060387e-13, + 4.921735953528513e-13, + 8.960529552328282e-13 + ], + "finite": true + }, + { + "case": "w7x_beta1_mn5_ns51", + "label": "cubic", + "grid": 121, + "repeat": 4, + "threads": 4, + "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", + "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", + "converged": true, + "solve_seconds": 3.904495834000045, + "iterations": 1562, + "residuals": [ + 9.896372005060387e-13, + 4.921735953528513e-13, + 8.960529552328282e-13 + ], + "finite": true + }, + { + "case": "w7x_beta1_mn5_ns51", + "label": "cubic", + "grid": 121, + "repeat": 5, + "threads": 4, + "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", + "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", + "converged": true, + "solve_seconds": 3.6408361670000886, + "iterations": 1562, + "residuals": [ + 9.896372005060387e-13, + 4.921735953528513e-13, + 8.960529552328282e-13 + ], + "finite": true + } + ], + "physical_field_checks": [ + { + "case": "cth_like_free_bdy", + "label": "bilinear", + "grid": 101, + "physics": { + "grid": [ + 7, + 32, + 24 + ], + "s_range": [ + 0.05, + 0.95 + ], + "steps": [ + 1e-05, + 1e-05, + 1e-05 + ], + "radial_reconstruction": "parity", + "force_rms": 0.003433524925605742, + "force_max": 0.02532778260740456, + "curl_rms": 0.27275310560811256, + "div_rms": 0.0003541827047191256, + "jac_min": -0.013169123225962052, + "jac_max": -0.004293402655326496, + "field_scale": 0.5740038585020223, + "length_scale": 0.14201287186901884, + "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" + }, + "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", + "physical_point_field_relative_rms": 2.9546576231906715e-05, + "position_match_max": 2.5176617391872307e-15, + "mapping_iterations": 2, + "surface_distance_rms": 1.5317381505711793e-05, + "surface_distance_max": 7.106494483032832e-05 + }, + { + "case": "cth_like_free_bdy", + "label": "cubic", + "grid": 51, + "physics": { + "grid": [ + 7, + 32, + 24 + ], + "s_range": [ + 0.05, + 0.95 + ], + "steps": [ + 1e-05, + 1e-05, + 1e-05 + ], + "radial_reconstruction": "parity", + "force_rms": 0.003435731291856249, + "force_max": 0.025379662183226615, + "curl_rms": 0.27274982936586545, + "div_rms": 0.000354584356569695, + "jac_min": -0.013168325906500605, + "jac_max": -0.004293383514479628, + "field_scale": 0.5740115209008574, + "length_scale": 0.142011263041748, + "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" + }, + "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", + "physical_point_field_relative_rms": 4.3445206810605865e-07, + "position_match_max": 5.556117303589682e-12, + "mapping_iterations": 1, + "surface_distance_rms": 2.0530414533736213e-07, + "surface_distance_max": 8.58736443639319e-07 + }, + { + "case": "cth_like_free_bdy", + "label": "cubic", + "grid": 101, + "physics": { + "grid": [ + 7, + 32, + 24 + ], + "s_range": [ + 0.05, + 0.95 + ], + "steps": [ + 1e-05, + 1e-05, + 1e-05 + ], + "radial_reconstruction": "parity", + "force_rms": 0.003435732258048372, + "force_max": 0.025379336806725862, + "curl_rms": 0.2727498616900824, + "div_rms": 0.0003545805008875243, + "jac_min": -0.013168330647082515, + "jac_max": -0.004293378942403702, + "field_scale": 0.5740114304586329, + "length_scale": 0.14201127747593523, + "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" + }, + "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", + "physical_point_field_relative_rms": 2.5021954890190738e-08, + "position_match_max": 1.6782738781820847e-14, + "mapping_iterations": 1, + "surface_distance_rms": 1.116323820623328e-08, + "surface_distance_max": 4.7207172696289275e-08 + }, + { + "case": "solovev_free_bdy", + "label": "bilinear", + "grid": 101, + "physics": { + "grid": [ + 7, + 32, + 24 + ], + "s_range": [ + 0.05, + 0.95 + ], + "steps": [ + 1e-05, + 1e-05, + 1e-05 + ], + "radial_reconstruction": "parity", + "force_rms": 0.0001158341990664453, + "force_max": 0.0006154969159133743, + "curl_rms": 0.1761647170547918, + "div_rms": 1.8882391905643537e-05, + "jac_min": -3.7172232134658976, + "jac_max": -2.195216654495098, + "field_scale": 0.19532322700069485, + "length_scale": 1.2727839008808162, + "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" + }, + "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", + "physical_point_field_relative_rms": 0.00014113265405549697, + "position_match_max": 2.8457249041605285e-15, + "mapping_iterations": 3, + "surface_distance_rms": 0.0009418784927812139, + "surface_distance_max": 0.001558863956571256 + }, + { + "case": "solovev_free_bdy", + "label": "cubic", + "grid": 51, + "physics": { + "grid": [ + 7, + 32, + 24 + ], + "s_range": [ + 0.05, + 0.95 + ], + "steps": [ + 1e-05, + 1e-05, + 1e-05 + ], + "radial_reconstruction": "parity", + "force_rms": 0.00011190564280759987, + "force_max": 0.0006139243659735771, + "curl_rms": 0.17615973187137202, + "div_rms": 1.884409663347409e-05, + "jac_min": -3.719005629850616, + "jac_max": -2.193324170806415, + "field_scale": 0.1953771094810813, + "length_scale": 1.272605912441972, + "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" + }, + "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", + "physical_point_field_relative_rms": 1.4224696974760978e-06, + "position_match_max": 3.4755478145461824e-15, + "mapping_iterations": 2, + "surface_distance_rms": 1.105154782618864e-05, + "surface_distance_max": 1.4388304361182711e-05 + }, + { + "case": "solovev_free_bdy", + "label": "cubic", + "grid": 101, + "physics": { + "grid": [ + 7, + 32, + 24 + ], + "s_range": [ + 0.05, + 0.95 + ], + "steps": [ + 1e-05, + 1e-05, + 1e-05 + ], + "radial_reconstruction": "parity", + "force_rms": 0.00011196805040649867, + "force_max": 0.0006139161497954734, + "curl_rms": 0.1761593314937742, + "div_rms": 1.8843803655848523e-05, + "jac_min": -3.7190512604267876, + "jac_max": -2.1933459591961113, + "field_scale": 0.19537652489393684, + "length_scale": 1.2726078298699028, + "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" + }, + "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", + "physical_point_field_relative_rms": 1.1997578852604448e-07, + "position_match_max": 5.078371997395918e-12, + "mapping_iterations": 1, + "surface_distance_rms": 8.7446533229163e-07, + "surface_distance_max": 1.1721799411198778e-06 + }, + { + "case": "quasr954", + "label": "bilinear", + "grid": 101, + "physics": { + "grid": [ + 7, + 32, + 24 + ], + "s_range": [ + 0.05, + 0.95 + ], + "steps": [ + 1e-05, + 1e-05, + 1e-05 + ], + "radial_reconstruction": "parity", + "force_rms": 0.0020813569830512822, + "force_max": 0.020864804868927098, + "curl_rms": 0.0021830400934182217, + "div_rms": 2.0140350965849804e-05, + "jac_min": -0.01430467005290678, + "jac_max": -0.0055584224611652305, + "field_scale": 1.0093268226099756, + "length_scale": 0.14997423294873183, + "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" + }, + "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", + "physical_point_field_relative_rms": 7.623083930346244e-05, + "position_match_max": 4.768600091998721e-12, + "mapping_iterations": 2, + "surface_distance_rms": 0.00013753251931782184, + "surface_distance_max": 0.0004568554082861841 + }, + { + "case": "quasr954", + "label": "cubic", + "grid": 51, + "physics": { + "grid": [ + 7, + 32, + 24 + ], + "s_range": [ + 0.05, + 0.95 + ], + "steps": [ + 1e-05, + 1e-05, + 1e-05 + ], + "radial_reconstruction": "parity", + "force_rms": 0.002098447141785075, + "force_max": 0.021160016567113586, + "curl_rms": 0.0021990953407875083, + "div_rms": 1.997295132076247e-05, + "jac_min": -0.014375665003603622, + "jac_max": -0.0055494336593380775, + "field_scale": 1.0091971232744272, + "length_scale": 0.14998004409158006, + "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" + }, + "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", + "physical_point_field_relative_rms": 4.847778737980796e-06, + "position_match_max": 6.12637639460453e-14, + "mapping_iterations": 2, + "surface_distance_rms": 3.093736365538351e-05, + "surface_distance_max": 8.273576386807361e-05 + }, + { + "case": "quasr954", + "label": "cubic", + "grid": 101, + "physics": { + "grid": [ + 7, + 32, + 24 + ], + "s_range": [ + 0.05, + 0.95 + ], + "steps": [ + 1e-05, + 1e-05, + 1e-05 + ], + "radial_reconstruction": "parity", + "force_rms": 0.0020981797112975703, + "force_max": 0.02116915093185801, + "curl_rms": 0.0021988284971532455, + "div_rms": 1.9976335790642006e-05, + "jac_min": -0.014375687595811672, + "jac_max": -0.005548636360168848, + "field_scale": 1.0092275464648666, + "length_scale": 0.1499784931798708, + "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" + }, + "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", + "physical_point_field_relative_rms": 2.904217526455456e-07, + "position_match_max": 7.021666937153402e-16, + "mapping_iterations": 2, + "surface_distance_rms": 1.84907046130721e-06, + "surface_distance_max": 4.843716785116606e-06 + }, + { + "case": "quasr65579", + "label": "bilinear", + "grid": 101, + "physics": { + "grid": [ + 7, + 32, + 24 + ], + "s_range": [ + 0.05, + 0.95 + ], + "steps": [ + 1e-05, + 1e-05, + 1e-05 + ], + "radial_reconstruction": "parity", + "force_rms": 0.010206938473681341, + "force_max": 0.2506730823990451, + "curl_rms": 0.010314097849278645, + "div_rms": 0.0006597361571755678, + "jac_min": -0.04313816325182125, + "jac_max": -0.006684748260136855, + "field_scale": 0.9985617285938084, + "length_scale": 0.20008996462311224, + "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" + }, + "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", + "physical_point_field_relative_rms": 6.877105765549047e-05, + "position_match_max": 4.66833992953587e-12, + "mapping_iterations": 2, + "surface_distance_rms": 0.0003322636647960635, + "surface_distance_max": 0.0006777466433203919 + }, + { + "case": "quasr65579", + "label": "cubic", + "grid": 51, + "physics": { + "grid": [ + 7, + 32, + 24 + ], + "s_range": [ + 0.05, + 0.95 + ], + "steps": [ + 1e-05, + 1e-05, + 1e-05 + ], + "radial_reconstruction": "parity", + "force_rms": 0.010117402798054655, + "force_max": 0.24701836063402857, + "curl_rms": 0.010226553016411212, + "div_rms": 0.0006547299119001606, + "jac_min": -0.04303653233919453, + "jac_max": -0.0067070731675862505, + "field_scale": 0.9987932745329545, + "length_scale": 0.20006863419161056, + "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" + }, + "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", + "physical_point_field_relative_rms": 4.208908589175938e-06, + "position_match_max": 4.491694543674084e-15, + "mapping_iterations": 2, + "surface_distance_rms": 1.8821138204230688e-05, + "surface_distance_max": 3.4950621005525793e-05 + }, + { + "case": "quasr65579", + "label": "cubic", + "grid": 101, + "physics": { + "grid": [ + 7, + 32, + 24 + ], + "s_range": [ + 0.05, + 0.95 + ], + "steps": [ + 1e-05, + 1e-05, + 1e-05 + ], + "radial_reconstruction": "parity", + "force_rms": 0.010120835082122782, + "force_max": 0.24694382314438693, + "curl_rms": 0.01022935013484844, + "div_rms": 0.0006549413580197522, + "jac_min": -0.04303468644104602, + "jac_max": -0.006706449816742236, + "field_scale": 0.9988163116952794, + "length_scale": 0.20006647500818756, + "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" + }, + "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", + "physical_point_field_relative_rms": 2.6791989264981436e-07, + "position_match_max": 7.110250420355457e-16, + "mapping_iterations": 2, + "surface_distance_rms": 9.985655387727435e-07, + "surface_distance_max": 2.344827341445661e-06 + } + ], + "quasr_regression_outcomes": [ + { + "case": "quasr112718_beta1", + "label": "bilinear", + "grid": 101, + "input_sha256": "e9e63662e19ada3265469a6b4f178df45066a22523353f7bf30e679bd85e999f", + "response_sha256": "16458068c90348ae131d6a73a5711d11bfea088c8fa7c2208da2389bdb8810c7", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr112718_beta1", + "label": "cubic", + "grid": 101, + "input_sha256": "e9e63662e19ada3265469a6b4f178df45066a22523353f7bf30e679bd85e999f", + "response_sha256": "16458068c90348ae131d6a73a5711d11bfea088c8fa7c2208da2389bdb8810c7", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr112718_beta2_current", + "label": "bilinear", + "grid": 101, + "input_sha256": "333d0e10d369d51a75aefc2d1d6c62151a6206e61020f2228fbeb2540ca9aa8c", + "response_sha256": "16458068c90348ae131d6a73a5711d11bfea088c8fa7c2208da2389bdb8810c7", + "converged": false, + "failure_category": "outside field grid" + }, + { + "case": "quasr112718_beta2_current", + "label": "cubic", + "grid": 101, + "input_sha256": "333d0e10d369d51a75aefc2d1d6c62151a6206e61020f2228fbeb2540ca9aa8c", + "response_sha256": "16458068c90348ae131d6a73a5711d11bfea088c8fa7c2208da2389bdb8810c7", + "converged": false, + "failure_category": "outside field grid" + }, + { + "case": "quasr112718_vacuum", + "label": "bilinear", + "grid": 101, + "input_sha256": "950cfdb196f990c5fae384c508023bd36570fb70c92d92bfbde36ad94f492f14", + "response_sha256": "16458068c90348ae131d6a73a5711d11bfea088c8fa7c2208da2389bdb8810c7", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr112718_vacuum", + "label": "cubic", + "grid": 101, + "input_sha256": "950cfdb196f990c5fae384c508023bd36570fb70c92d92bfbde36ad94f492f14", + "response_sha256": "16458068c90348ae131d6a73a5711d11bfea088c8fa7c2208da2389bdb8810c7", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr165868_beta1", + "label": "bilinear", + "grid": 101, + "input_sha256": "aacc5df1b02daa4e7a81743a5aec898dac9072085fc7370aa4becf274c14f75e", + "response_sha256": "66159fc99e8afd84873f74c40b90cd86faab498916bbeb896c53bfd3f01ef835", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr165868_beta1", + "label": "cubic", + "grid": 101, + "input_sha256": "aacc5df1b02daa4e7a81743a5aec898dac9072085fc7370aa4becf274c14f75e", + "response_sha256": "66159fc99e8afd84873f74c40b90cd86faab498916bbeb896c53bfd3f01ef835", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr165868_beta2_current", + "label": "bilinear", + "grid": 101, + "input_sha256": "52be871fe0d429890e06a2d12b18fb120f524cf2a7b913f0b33bb504456f3471", + "response_sha256": "66159fc99e8afd84873f74c40b90cd86faab498916bbeb896c53bfd3f01ef835", + "converged": false, + "failure_category": "outside field grid" + }, + { + "case": "quasr165868_beta2_current", + "label": "cubic", + "grid": 101, + "input_sha256": "52be871fe0d429890e06a2d12b18fb120f524cf2a7b913f0b33bb504456f3471", + "response_sha256": "66159fc99e8afd84873f74c40b90cd86faab498916bbeb896c53bfd3f01ef835", + "converged": false, + "failure_category": "outside field grid" + }, + { + "case": "quasr165868_vacuum", + "label": "bilinear", + "grid": 101, + "input_sha256": "4de596d8e1b67b5adefe50d1186ba3b969e68a8c3db0797a3d6dd7dc2eaeb888", + "response_sha256": "66159fc99e8afd84873f74c40b90cd86faab498916bbeb896c53bfd3f01ef835", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr165868_vacuum", + "label": "cubic", + "grid": 101, + "input_sha256": "4de596d8e1b67b5adefe50d1186ba3b969e68a8c3db0797a3d6dd7dc2eaeb888", + "response_sha256": "66159fc99e8afd84873f74c40b90cd86faab498916bbeb896c53bfd3f01ef835", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr167381_beta1", + "label": "bilinear", + "grid": 101, + "input_sha256": "954e7162f5d1ec54619ce29c4c2aa338e6ec5df0d4d91a0387c87d9f5e3d0176", + "response_sha256": "6268adb7c2586d59f06e5bd8e4eb223ef250fb35a3354951bf45fe4d6d986090", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr167381_beta1", + "label": "cubic", + "grid": 101, + "input_sha256": "954e7162f5d1ec54619ce29c4c2aa338e6ec5df0d4d91a0387c87d9f5e3d0176", + "response_sha256": "6268adb7c2586d59f06e5bd8e4eb223ef250fb35a3354951bf45fe4d6d986090", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr167381_beta2_current", + "label": "bilinear", + "grid": 101, + "input_sha256": "61c2a031480ef718ce8938168bb4676d9c580df6654044f767bbfe6fbe41e0ec", + "response_sha256": "6268adb7c2586d59f06e5bd8e4eb223ef250fb35a3354951bf45fe4d6d986090", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr167381_beta2_current", + "label": "cubic", + "grid": 101, + "input_sha256": "61c2a031480ef718ce8938168bb4676d9c580df6654044f767bbfe6fbe41e0ec", + "response_sha256": "6268adb7c2586d59f06e5bd8e4eb223ef250fb35a3354951bf45fe4d6d986090", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr167381_vacuum", + "label": "bilinear", + "grid": 101, + "input_sha256": "61f836d4fd14db44327032f75b0d14c8b3b78d34d3549a7ffdbf890ebef8fd5c", + "response_sha256": "6268adb7c2586d59f06e5bd8e4eb223ef250fb35a3354951bf45fe4d6d986090", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr167381_vacuum", + "label": "cubic", + "grid": 101, + "input_sha256": "61f836d4fd14db44327032f75b0d14c8b3b78d34d3549a7ffdbf890ebef8fd5c", + "response_sha256": "6268adb7c2586d59f06e5bd8e4eb223ef250fb35a3354951bf45fe4d6d986090", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr19493_beta1", + "label": "bilinear", + "grid": 101, + "input_sha256": "c4ff2365c89e1c58d91095b723db482ea6ad8786261d5864fb73df75a0c9f455", + "response_sha256": "b2e56bf446aa950df307b5871d47218ac8b6fe0f17e740ddf56e8880c3864e9f", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr19493_beta1", + "label": "cubic", + "grid": 101, + "input_sha256": "c4ff2365c89e1c58d91095b723db482ea6ad8786261d5864fb73df75a0c9f455", + "response_sha256": "b2e56bf446aa950df307b5871d47218ac8b6fe0f17e740ddf56e8880c3864e9f", + "converged": false, + "failure_category": "RuntimeError: There was an error in one or more threads during a VMEC++ run:" + }, + { + "case": "quasr19493_beta2_current", + "label": "bilinear", + "grid": 101, + "input_sha256": "1d0b5cef3cdfe8aba7aa9e1dd0c27c0d04c6dbf66e7d19a6c0e1abfd9545fb2d", + "response_sha256": "b2e56bf446aa950df307b5871d47218ac8b6fe0f17e740ddf56e8880c3864e9f", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr19493_beta2_current", + "label": "cubic", + "grid": 101, + "input_sha256": "1d0b5cef3cdfe8aba7aa9e1dd0c27c0d04c6dbf66e7d19a6c0e1abfd9545fb2d", + "response_sha256": "b2e56bf446aa950df307b5871d47218ac8b6fe0f17e740ddf56e8880c3864e9f", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr19493_vacuum", + "label": "bilinear", + "grid": 101, + "input_sha256": "1b10ac43f03b7133509ccd71ad5cc92f0dc0eebf85a77e7a1cb22ab3198e201e", + "response_sha256": "b2e56bf446aa950df307b5871d47218ac8b6fe0f17e740ddf56e8880c3864e9f", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr19493_vacuum", + "label": "cubic", + "grid": 101, + "input_sha256": "1b10ac43f03b7133509ccd71ad5cc92f0dc0eebf85a77e7a1cb22ab3198e201e", + "response_sha256": "b2e56bf446aa950df307b5871d47218ac8b6fe0f17e740ddf56e8880c3864e9f", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr19609_beta1", + "label": "bilinear", + "grid": 101, + "input_sha256": "253d0030008226826ac88551d9a926fa12f3fa3008ba6f218158af89cd98b0cd", + "response_sha256": "57041a83366db99adcafa38817ee3c3134ec0adce67d2664ccc6afaac4380b3d", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr19609_beta1", + "label": "cubic", + "grid": 101, + "input_sha256": "253d0030008226826ac88551d9a926fa12f3fa3008ba6f218158af89cd98b0cd", + "response_sha256": "57041a83366db99adcafa38817ee3c3134ec0adce67d2664ccc6afaac4380b3d", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr19609_beta2_current", + "label": "bilinear", + "grid": 101, + "input_sha256": "1d517dbaf4b6bc548b1342bc4dfa891cf51e480cb02b29f1ef9148c408a89c44", + "response_sha256": "57041a83366db99adcafa38817ee3c3134ec0adce67d2664ccc6afaac4380b3d", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr19609_beta2_current", + "label": "cubic", + "grid": 101, + "input_sha256": "1d517dbaf4b6bc548b1342bc4dfa891cf51e480cb02b29f1ef9148c408a89c44", + "response_sha256": "57041a83366db99adcafa38817ee3c3134ec0adce67d2664ccc6afaac4380b3d", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr19609_vacuum", + "label": "bilinear", + "grid": 101, + "input_sha256": "ca68740051032cac523cc260f23d32f2fb7f706c5deefa26d264baea9c90fdb2", + "response_sha256": "57041a83366db99adcafa38817ee3c3134ec0adce67d2664ccc6afaac4380b3d", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr19609_vacuum", + "label": "cubic", + "grid": 101, + "input_sha256": "ca68740051032cac523cc260f23d32f2fb7f706c5deefa26d264baea9c90fdb2", + "response_sha256": "57041a83366db99adcafa38817ee3c3134ec0adce67d2664ccc6afaac4380b3d", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr19940_beta1", + "label": "bilinear", + "grid": 101, + "input_sha256": "f74a0532947c26e15f300d94cd97860eaee55d5512a84c0bdc40a736fb874ce6", + "response_sha256": "8b5c6d2bf1f5604a5b5178883d0536861d96492f5c9c4c9f0c2ef39daf1c3de5", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr19940_beta1", + "label": "cubic", + "grid": 101, + "input_sha256": "f74a0532947c26e15f300d94cd97860eaee55d5512a84c0bdc40a736fb874ce6", + "response_sha256": "8b5c6d2bf1f5604a5b5178883d0536861d96492f5c9c4c9f0c2ef39daf1c3de5", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr19940_beta2_current", + "label": "bilinear", + "grid": 101, + "input_sha256": "28bff417cccf98213b426f0de084af375fec589326294392ed78fb4ffd923b28", + "response_sha256": "8b5c6d2bf1f5604a5b5178883d0536861d96492f5c9c4c9f0c2ef39daf1c3de5", + "converged": false, + "failure_category": "outside field grid" + }, + { + "case": "quasr19940_beta2_current", + "label": "cubic", + "grid": 101, + "input_sha256": "28bff417cccf98213b426f0de084af375fec589326294392ed78fb4ffd923b28", + "response_sha256": "8b5c6d2bf1f5604a5b5178883d0536861d96492f5c9c4c9f0c2ef39daf1c3de5", + "converged": false, + "failure_category": "outside field grid" + }, + { + "case": "quasr19940_vacuum", + "label": "bilinear", + "grid": 101, + "input_sha256": "c66018dce16056ca271deb971db8725f742d4c166ecd97e3aa36b09b77900396", + "response_sha256": "8b5c6d2bf1f5604a5b5178883d0536861d96492f5c9c4c9f0c2ef39daf1c3de5", + "converged": true, + "iterations": 1553, + "residuals": [ + 9.089152082616585e-10, + 1.684685165871294e-10, + 1.763115073070302e-11 + ], + "finite": true + }, + { + "case": "quasr19940_vacuum", + "label": "cubic", + "grid": 101, + "input_sha256": "c66018dce16056ca271deb971db8725f742d4c166ecd97e3aa36b09b77900396", + "response_sha256": "8b5c6d2bf1f5604a5b5178883d0536861d96492f5c9c4c9f0c2ef39daf1c3de5", + "converged": true, + "iterations": 1548, + "residuals": [ + 9.755521958636537e-10, + 1.543318731798864e-10, + 1.8608830655402853e-11 + ], + "finite": true + }, + { + "case": "quasr29346_beta1", + "label": "bilinear", + "grid": 101, + "input_sha256": "6dd79a58efcf7f4f1894d938e7ff8f199bcdb431e8855f805b0917e0f0922fa5", + "response_sha256": "84fc9c63ef8e75bc1b2d759cb691203d9e63aeac25799aaf1737238729582e85", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr29346_beta1", + "label": "cubic", + "grid": 101, + "input_sha256": "6dd79a58efcf7f4f1894d938e7ff8f199bcdb431e8855f805b0917e0f0922fa5", + "response_sha256": "84fc9c63ef8e75bc1b2d759cb691203d9e63aeac25799aaf1737238729582e85", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr29346_beta2_current", + "label": "bilinear", + "grid": 101, + "input_sha256": "6318dfedce234350075324ac7ee5e297ca73f1f604c8a79987a6584c058a9016", + "response_sha256": "84fc9c63ef8e75bc1b2d759cb691203d9e63aeac25799aaf1737238729582e85", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr29346_beta2_current", + "label": "cubic", + "grid": 101, + "input_sha256": "6318dfedce234350075324ac7ee5e297ca73f1f604c8a79987a6584c058a9016", + "response_sha256": "84fc9c63ef8e75bc1b2d759cb691203d9e63aeac25799aaf1737238729582e85", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr29346_vacuum", + "label": "bilinear", + "grid": 101, + "input_sha256": "edbcb26655b7d04199f2856bc1ee243eefd19f9c8eee75b3c5af771128bc8551", + "response_sha256": "84fc9c63ef8e75bc1b2d759cb691203d9e63aeac25799aaf1737238729582e85", + "converged": true, + "iterations": 1400, + "residuals": [ + 9.670029953258021e-10, + 8.25812120008154e-11, + 5.4231423717772254e-11 + ], + "finite": true + }, + { + "case": "quasr29346_vacuum", + "label": "cubic", + "grid": 101, + "input_sha256": "edbcb26655b7d04199f2856bc1ee243eefd19f9c8eee75b3c5af771128bc8551", + "response_sha256": "84fc9c63ef8e75bc1b2d759cb691203d9e63aeac25799aaf1737238729582e85", + "converged": true, + "iterations": 1406, + "residuals": [ + 9.462735462869318e-10, + 8.128302101510643e-11, + 5.212882093233113e-11 + ], + "finite": true + }, + { + "case": "quasr336902_beta1", + "label": "bilinear", + "grid": 101, + "input_sha256": "137480a845fc207e8d4712eafe1d96321c76056bd3f50db8e60c6b56ba815cd8", + "response_sha256": "afa41b6b1768c76d2f70c422bc4adae759cc229bdc9f8b03dbfa2ced8261fa0e", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr336902_beta1", + "label": "cubic", + "grid": 101, + "input_sha256": "137480a845fc207e8d4712eafe1d96321c76056bd3f50db8e60c6b56ba815cd8", + "response_sha256": "afa41b6b1768c76d2f70c422bc4adae759cc229bdc9f8b03dbfa2ced8261fa0e", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr336902_beta2_current", + "label": "bilinear", + "grid": 101, + "input_sha256": "8b4f061fd9a558682eededf5a08217a99df0ef679c4ac09dec1ed9ddd5a2f394", + "response_sha256": "afa41b6b1768c76d2f70c422bc4adae759cc229bdc9f8b03dbfa2ced8261fa0e", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr336902_beta2_current", + "label": "cubic", + "grid": 101, + "input_sha256": "8b4f061fd9a558682eededf5a08217a99df0ef679c4ac09dec1ed9ddd5a2f394", + "response_sha256": "afa41b6b1768c76d2f70c422bc4adae759cc229bdc9f8b03dbfa2ced8261fa0e", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr336902_vacuum", + "label": "bilinear", + "grid": 101, + "input_sha256": "cf59e259a315e922e834c2b5881759bb965d18e5ea3b5ba7988b728a4f15bea5", + "response_sha256": "afa41b6b1768c76d2f70c422bc4adae759cc229bdc9f8b03dbfa2ced8261fa0e", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr336902_vacuum", + "label": "cubic", + "grid": 101, + "input_sha256": "cf59e259a315e922e834c2b5881759bb965d18e5ea3b5ba7988b728a4f15bea5", + "response_sha256": "afa41b6b1768c76d2f70c422bc4adae759cc229bdc9f8b03dbfa2ced8261fa0e", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr50136_beta1", + "label": "bilinear", + "grid": 101, + "input_sha256": "c140ecaa51e066c547ef963f998c7609127c9f10492093ee6a6db1f093bcfdda", + "response_sha256": "b63a0e557a13ecc2b58ccbaa63ec4eb56362ec68f5a4b850277a56aad4bcadcf", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr50136_beta1", + "label": "cubic", + "grid": 101, + "input_sha256": "c140ecaa51e066c547ef963f998c7609127c9f10492093ee6a6db1f093bcfdda", + "response_sha256": "b63a0e557a13ecc2b58ccbaa63ec4eb56362ec68f5a4b850277a56aad4bcadcf", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr50136_beta2_current", + "label": "bilinear", + "grid": 101, + "input_sha256": "9c28216a753e9a2680e505470da861a90268b8b624b4804e422d466c055af11b", + "response_sha256": "b63a0e557a13ecc2b58ccbaa63ec4eb56362ec68f5a4b850277a56aad4bcadcf", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr50136_beta2_current", + "label": "cubic", + "grid": 101, + "input_sha256": "9c28216a753e9a2680e505470da861a90268b8b624b4804e422d466c055af11b", + "response_sha256": "b63a0e557a13ecc2b58ccbaa63ec4eb56362ec68f5a4b850277a56aad4bcadcf", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr50136_vacuum", + "label": "bilinear", + "grid": 101, + "input_sha256": "7051ed914495794762e6454961f499a3682658be38331616f04cac79d2cb8757", + "response_sha256": "b63a0e557a13ecc2b58ccbaa63ec4eb56362ec68f5a4b850277a56aad4bcadcf", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr50136_vacuum", + "label": "cubic", + "grid": 101, + "input_sha256": "7051ed914495794762e6454961f499a3682658be38331616f04cac79d2cb8757", + "response_sha256": "b63a0e557a13ecc2b58ccbaa63ec4eb56362ec68f5a4b850277a56aad4bcadcf", + "converged": false, + "failure_category": "RuntimeError: There was an error in one or more threads during a VMEC++ run:" + }, + { + "case": "quasr65579_beta1", + "label": "bilinear", + "grid": 101, + "input_sha256": "54e3a1df36ad704dd57d73e0f90d237cb857642405da90295709a0aad7a5195d", + "response_sha256": "179c20bbed95eee0c4e9f4851467ed2fad210599f14a466e9e8454a959e0cc18", + "converged": false, + "failure_category": "RuntimeError: There was an error in one or more threads during a VMEC++ run:" + }, + { + "case": "quasr65579_beta1", + "label": "cubic", + "grid": 101, + "input_sha256": "54e3a1df36ad704dd57d73e0f90d237cb857642405da90295709a0aad7a5195d", + "response_sha256": "179c20bbed95eee0c4e9f4851467ed2fad210599f14a466e9e8454a959e0cc18", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr65579_beta2_current", + "label": "bilinear", + "grid": 101, + "input_sha256": "708b1869efa03138bbcc58a94fe1bea83925469f88be5dc467fe9a2ee616dd2c", + "response_sha256": "179c20bbed95eee0c4e9f4851467ed2fad210599f14a466e9e8454a959e0cc18", + "converged": false, + "failure_category": "outside field grid" + }, + { + "case": "quasr65579_beta2_current", + "label": "cubic", + "grid": 101, + "input_sha256": "708b1869efa03138bbcc58a94fe1bea83925469f88be5dc467fe9a2ee616dd2c", + "response_sha256": "179c20bbed95eee0c4e9f4851467ed2fad210599f14a466e9e8454a959e0cc18", + "converged": false, + "failure_category": "outside field grid" + }, + { + "case": "quasr65579_vacuum", + "label": "bilinear", + "grid": 101, + "input_sha256": "668f0b74ad9e2c57bf4066025077052abd7d17b33332c3b8b8917e3ab63e31ee", + "response_sha256": "179c20bbed95eee0c4e9f4851467ed2fad210599f14a466e9e8454a959e0cc18", + "converged": true, + "iterations": 3145, + "residuals": [ + 9.862466288244836e-10, + 8.100474013033702e-10, + 8.539447175568391e-12 + ], + "finite": true + }, + { + "case": "quasr65579_vacuum", + "label": "cubic", + "grid": 101, + "input_sha256": "668f0b74ad9e2c57bf4066025077052abd7d17b33332c3b8b8917e3ab63e31ee", + "response_sha256": "179c20bbed95eee0c4e9f4851467ed2fad210599f14a466e9e8454a959e0cc18", + "converged": true, + "iterations": 3147, + "residuals": [ + 9.811705386389826e-10, + 7.703901997329762e-10, + 7.794745808918779e-12 + ], + "finite": true + }, + { + "case": "quasr954_beta1", + "label": "bilinear", + "grid": 101, + "input_sha256": "2b8454ad095d6378c581c037a81ca4456cfec6ca94b6a4deabc94ef82406db2d", + "response_sha256": "042730bf10ba429fea2639d7a3de161a1c87c21b921c5977ddcad25309ca740c", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr954_beta1", + "label": "cubic", + "grid": 101, + "input_sha256": "2b8454ad095d6378c581c037a81ca4456cfec6ca94b6a4deabc94ef82406db2d", + "response_sha256": "042730bf10ba429fea2639d7a3de161a1c87c21b921c5977ddcad25309ca740c", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr954_beta2_current", + "label": "bilinear", + "grid": 101, + "input_sha256": "f8c6512426050e5d0a2e0de1b371b72100d8ed0f2e54a8da753fd771165b2039", + "response_sha256": "042730bf10ba429fea2639d7a3de161a1c87c21b921c5977ddcad25309ca740c", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr954_beta2_current", + "label": "cubic", + "grid": 101, + "input_sha256": "f8c6512426050e5d0a2e0de1b371b72100d8ed0f2e54a8da753fd771165b2039", + "response_sha256": "042730bf10ba429fea2639d7a3de161a1c87c21b921c5977ddcad25309ca740c", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr954_vacuum", + "label": "bilinear", + "grid": 101, + "input_sha256": "95766fef21c9dcfd183bf256c2f75b75a9c7ece208a5dcf3d368d876c71ae824", + "response_sha256": "042730bf10ba429fea2639d7a3de161a1c87c21b921c5977ddcad25309ca740c", + "converged": true, + "iterations": 1525, + "residuals": [ + 9.367126203842757e-10, + 5.56168677641462e-10, + 9.95092619273595e-12 + ], + "finite": true + }, + { + "case": "quasr954_vacuum", + "label": "cubic", + "grid": 101, + "input_sha256": "95766fef21c9dcfd183bf256c2f75b75a9c7ece208a5dcf3d368d876c71ae824", + "response_sha256": "042730bf10ba429fea2639d7a3de161a1c87c21b921c5977ddcad25309ca740c", + "converged": true, + "iterations": 1589, + "residuals": [ + 9.866699225253968e-10, + 6.269240152716271e-10, + 7.34704706439349e-12 + ], + "finite": true + }, + { + "case": "quasr9914_beta1", + "label": "bilinear", + "grid": 101, + "input_sha256": "7776c0b8c1a7a0e4860b051fa86e7d52a1428370ac9d0c0867bac604ad327e11", + "response_sha256": "b9f29f9de20b792db45066d08e7174c255597355ec41082a5a6edc80fa792bc8", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr9914_beta1", + "label": "cubic", + "grid": 101, + "input_sha256": "7776c0b8c1a7a0e4860b051fa86e7d52a1428370ac9d0c0867bac604ad327e11", + "response_sha256": "b9f29f9de20b792db45066d08e7174c255597355ec41082a5a6edc80fa792bc8", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr9914_beta2_current", + "label": "bilinear", + "grid": 101, + "input_sha256": "30f99a019b7063ac2010ab01e493abe9e31d5232185aee65bb099a015a326fef", + "response_sha256": "b9f29f9de20b792db45066d08e7174c255597355ec41082a5a6edc80fa792bc8", + "converged": false, + "failure_category": "iteration budget" + }, + { + "case": "quasr9914_beta2_current", + "label": "cubic", + "grid": 101, + "input_sha256": "30f99a019b7063ac2010ab01e493abe9e31d5232185aee65bb099a015a326fef", + "response_sha256": "b9f29f9de20b792db45066d08e7174c255597355ec41082a5a6edc80fa792bc8", + "converged": false, + "failure_category": "bad Jacobian" + }, + { + "case": "quasr9914_vacuum", + "label": "bilinear", + "grid": 101, + "input_sha256": "65f8a03a8040a99307303b93082ffa333333f160069607600983678c96fef850", + "response_sha256": "b9f29f9de20b792db45066d08e7174c255597355ec41082a5a6edc80fa792bc8", + "converged": true, + "iterations": 1351, + "residuals": [ + 9.706776525571777e-10, + 9.701177295846494e-11, + 1.7028750202024367e-11 + ], + "finite": true + }, + { + "case": "quasr9914_vacuum", + "label": "cubic", + "grid": 101, + "input_sha256": "65f8a03a8040a99307303b93082ffa333333f160069607600983678c96fef850", + "response_sha256": "b9f29f9de20b792db45066d08e7174c255597355ec41082a5a6edc80fa792bc8", + "converged": true, + "iterations": 1354, + "residuals": [ + 8.521734852874864e-10, + 9.722873174112846e-11, + 1.913262512788977e-11 + ], + "finite": true + } + ], + "quasr_bulk_checks": [ + { + "case": "quasr19940_vacuum", + "label": "bilinear", + "physics": { + "grid": [ + 7, + 48, + 32 + ], + "s_range": [ + 0.05, + 0.95 + ], + "steps": [ + 1e-05, + 1e-05, + 1e-05 + ], + "radial_reconstruction": "parity", + "force_rms": 0.029759602352925574, + "force_max": 0.29845958008470197, + "curl_rms": 0.02896820919315757, + "div_rms": 0.00043228014335894657, + "jac_min": -0.04829118429919434, + "jac_max": -0.017811315064073442, + "field_scale": 1.2250407784678918, + "length_scale": 0.2500248597415068, + "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" + } + }, + { + "case": "quasr19940_vacuum", + "label": "cubic", + "physics": { + "grid": [ + 7, + 48, + 32 + ], + "s_range": [ + 0.05, + 0.95 + ], + "steps": [ + 1e-05, + 1e-05, + 1e-05 + ], + "radial_reconstruction": "parity", + "force_rms": 0.029824655674306356, + "force_max": 0.29979715157691916, + "curl_rms": 0.029033770052219614, + "div_rms": 0.0004349651853133655, + "jac_min": -0.04825774909228111, + "jac_max": -0.017797365995620283, + "field_scale": 1.2250000335347346, + "length_scale": 0.250029315261789, + "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" + } + }, + { + "case": "quasr29346_vacuum", + "label": "bilinear", + "physics": { + "grid": [ + 7, + 48, + 32 + ], + "s_range": [ + 0.05, + 0.95 + ], + "steps": [ + 1e-05, + 1e-05, + 1e-05 + ], + "radial_reconstruction": "parity", + "force_rms": 0.008311244329195793, + "force_max": 0.06460083475987687, + "curl_rms": 0.0093574235560279, + "div_rms": 5.980373632760312e-05, + "jac_min": -0.015286675716027388, + "jac_max": -0.006939747951867686, + "field_scale": 0.608313470841406, + "length_scale": 0.15000225755425814, + "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" + } + }, + { + "case": "quasr29346_vacuum", + "label": "cubic", + "physics": { + "grid": [ + 7, + 48, + 32 + ], + "s_range": [ + 0.05, + 0.95 + ], + "steps": [ + 1e-05, + 1e-05, + 1e-05 + ], + "radial_reconstruction": "parity", + "force_rms": 0.00836146516404688, + "force_max": 0.06524381216739511, + "curl_rms": 0.009384701683078115, + "div_rms": 6.007556390896915e-05, + "jac_min": -0.015278311814324885, + "jac_max": -0.006935761621580348, + "field_scale": 0.6084359683522869, + "length_scale": 0.14998880796301411, + "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" + } + }, + { + "case": "quasr65579_vacuum", + "label": "bilinear", + "physics": { + "grid": [ + 7, + 48, + 32 + ], + "s_range": [ + 0.05, + 0.95 + ], + "steps": [ + 1e-05, + 1e-05, + 1e-05 + ], + "radial_reconstruction": "parity", + "force_rms": 0.010106221134881016, + "force_max": 0.26208966341332474, + "curl_rms": 0.010390050927728704, + "div_rms": 0.000666957986522108, + "jac_min": -0.04271069280944206, + "jac_max": -0.006774919062333465, + "field_scale": 0.9984879146883271, + "length_scale": 0.20010222605209574, + "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" + } + }, + { + "case": "quasr65579_vacuum", + "label": "cubic", + "physics": { + "grid": [ + 7, + 48, + 32 + ], + "s_range": [ + 0.05, + 0.95 + ], + "steps": [ + 1e-05, + 1e-05, + 1e-05 + ], + "radial_reconstruction": "parity", + "force_rms": 0.010034124151427707, + "force_max": 0.2591231305104534, + "curl_rms": 0.010284611375022257, + "div_rms": 0.0006605165225173901, + "jac_min": -0.04262588745167954, + "jac_max": -0.006788095518037546, + "field_scale": 0.9990018311613307, + "length_scale": 0.20005431115345795, + "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" + } + }, + { + "case": "quasr954_vacuum", + "label": "bilinear", + "physics": { + "grid": [ + 7, + 48, + 32 + ], + "s_range": [ + 0.05, + 0.95 + ], + "steps": [ + 1e-05, + 1e-05, + 1e-05 + ], + "radial_reconstruction": "parity", + "force_rms": 0.00204270961164645, + "force_max": 0.02120774425934346, + "curl_rms": 0.0025015525833665575, + "div_rms": 1.9506450305750353e-05, + "jac_min": -0.014715457982661636, + "jac_max": -0.005665741842990412, + "field_scale": 1.0087771955030367, + "length_scale": 0.15000390702074454, + "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" + } + }, + { + "case": "quasr954_vacuum", + "label": "cubic", + "physics": { + "grid": [ + 7, + 48, + 32 + ], + "s_range": [ + 0.05, + 0.95 + ], + "steps": [ + 1e-05, + 1e-05, + 1e-05 + ], + "radial_reconstruction": "parity", + "force_rms": 0.0020277157684916156, + "force_max": 0.020722540151324825, + "curl_rms": 0.002468749117007582, + "div_rms": 1.8978694308663365e-05, + "jac_min": -0.014649936670517005, + "jac_max": -0.005683633839935532, + "field_scale": 1.0086617846313308, + "length_scale": 0.15000871320938206, + "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" + } + }, + { + "case": "quasr9914_vacuum", + "label": "bilinear", + "physics": { + "grid": [ + 7, + 48, + 32 + ], + "s_range": [ + 0.05, + 0.95 + ], + "steps": [ + 1e-05, + 1e-05, + 1e-05 + ], + "radial_reconstruction": "parity", + "force_rms": 0.005553924290904348, + "force_max": 0.055074745634206494, + "curl_rms": 0.00697209126777972, + "div_rms": 4.116372321927028e-05, + "jac_min": -0.01536401242517599, + "jac_max": -0.0072732853643839605, + "field_scale": 0.6454648357066055, + "length_scale": 0.150042483496056, + "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" + } + }, + { + "case": "quasr9914_vacuum", + "label": "cubic", + "physics": { + "grid": [ + 7, + 48, + 32 + ], + "s_range": [ + 0.05, + 0.95 + ], + "steps": [ + 1e-05, + 1e-05, + 1e-05 + ], + "radial_reconstruction": "parity", + "force_rms": 0.0055462540055858395, + "force_max": 0.054480537981249924, + "curl_rms": 0.0069801502885778665, + "div_rms": 4.126955267434098e-05, + "jac_min": -0.015364507274432775, + "jac_max": -0.007286786009197156, + "field_scale": 0.6455405916594343, + "length_scale": 0.15003545788788522, + "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" + } + } + ], + "limitations": [ + "Field-table accuracy is distinct from plasma truncation and smooth-coil representation error.", + "401-square results are refinement references, not exact plasma-field solutions.", + "Bulk checks sample the interior, excluding axis and boundary.", + "QUASR matrix timings overlapped other checks and are not performance evidence.", + "Five of 36 QUASR problems converged for each method, with identical successful case IDs. All finite-pressure/current variants failed at their original budgets." + ] +} diff --git a/docs/vacuum_field_interpolation.md b/docs/vacuum_field_interpolation.md index bc614f8cf..cd0cdb781 100644 --- a/docs/vacuum_field_interpolation.md +++ b/docs/vacuum_field_interpolation.md @@ -17,7 +17,8 @@ linear; a newly loaded input file without the field uses the current default. A frozen study compared the two methods at the same plasma resolution, profiles, coil currents and final force tolerances. The symmetric cases used 1e-14; asymmetric CTH used its original 1e-8 tolerance and the W7-X timing comparison -used its original 1e-12 tolerance. The baseline was `4e0eefb`. +used its original 1e-12 tolerance. The results below were confirmed against +upstream `98aaaea`, following an initial study against `4e0eefb`. For cases with source coils, all table sizes were derived from one finer table computed from identical polygonal/circular filaments. An independent @@ -28,21 +29,30 @@ B, removing differences due solely to flux-coordinate parametrisation. | Case | Relative B difference, linear 101 | Relative B difference, cubic 51 | Cubic/linear runtime at the original table size | |---|---:|---:|---:| -| CTH, finite pressure/current | 2.96e-5 | 4.35e-7 | 0.985 | -| Free-boundary Solovev | 1.41e-4 | 1.42e-6 | 1.060 | -| QUASR 954 | 7.62e-5 | 4.85e-6 | 1.040 | -| QUASR 65579 | 6.88e-5 | 4.21e-6 | 1.002 | -| Asymmetric CTH | See below | See below | 0.989 | -| W7-X, finite pressure, held out | See below | See below | 1.018 | +| CTH, finite pressure/current | 2.96e-5 | 4.35e-7 | 1.003 | +| Free-boundary Solovev | 1.41e-4 | 1.42e-6 | 1.061 | +| QUASR 954 | 7.62e-5 | 4.85e-6 | 1.037 | +| QUASR 65579 | 6.88e-5 | 4.21e-6 | 1.010 | +| Asymmetric CTH | See below | See below | 1.014 | +| W7-X, finite pressure, held out | See below | See below | 1.004 | -The timing ratios are medians of eight adjacent, process-isolated pairs on an -Apple M4 Mac (10 CPU cores, 16 GB RAM) with four OpenMP threads. All 160 confirmation solves -converged; the table includes the original-size comparisons. Individual -small-sample confidence intervals remain wider than the medians: their upper -limits exceed 1.10 for Solovev and QUASR 954. These measurements support an -accuracy improvement at similar solver cost, rather than a speedup claim. +The timing ratios are medians of six adjacent, process-isolated pairs on an +Apple M4 Mac (10 CPU cores, 16 GB RAM) with four OpenMP threads. All 120 current-upstream +confirmation solves converged; the table includes the original-size comparisons. +The largest median slowdown was 6.1%. Bootstrap intervals from these small samples +are estimates, not hard bounds on future runtime. An earlier eight-pair study also +found similar solver cost, with wider uncertainty in some cases. The improvement +is in field-table accuracy; these measurements do not establish a solver speedup. -The supplied asymmetric CTH and W7-X tables had no independent finer coil table. +A separate regression matrix used all 12 bundled QUASR configurations with their +original resolution and stage budgets, in vacuum and with two prescribed +pressure/current profiles. Both methods converged on the same five of 36 problems; +neither converged on any of the finite-pressure variants at these budgets. All +failures were retained. The converged controls received independent bulk-field +checks; finite-pressure accuracy is instead supported by CTH and W7-X. + +The supplied-table coarsening study, run against `4e0eefb`, used asymmetric CTH +and W7-X tables without independent finer coil tables. At original table nodes withheld from a coarser 61-by-61 W7-X table, cubic interpolation reduced field error by about 80 times compared with bilinear at that same resolution. Complete equilibria also approached the finest supplied @@ -55,6 +65,9 @@ bulk force-balance error was mostly unchanged when plasma resolution dominated. Both methods stalled when asymmetric CTH was pushed from its supplied 1e-8 force tolerance to 1e-14; that stricter failure is not counted as convergence. +The [recorded observations](../benchmarks/mgrid_interpolation_results.json) include +paired timings, binary/input hashes, physical checks and all QUASR outcomes. + ## Reproduce a comparison The benchmark retains source hashes, actual inputs, method selections, raw From 2d43296c1defc4700cb8c82cbd4ca44292b1516d Mon Sep 17 00:00:00 2001 From: Philipp Bogdan Date: Tue, 8 Sep 2026 08:32:56 +0100 Subject: [PATCH 3/4] Use cubic interpolation unconditionally and refresh reference data --- README.md | 1 - benchmarks/mgrid_interpolation.py | 311 -- benchmarks/mgrid_interpolation_results.json | 3856 ----------------- docs/index.md | 1 - docs/vacuum_field_interpolation.md | 92 - src/vmecpp/__init__.py | 49 - .../vmecpp/common/vmec_indata/vmec_indata.cc | 48 - .../vmecpp/common/vmec_indata/vmec_indata.h | 9 - .../common/vmec_indata/vmec_indata_test.cc | 23 - .../free_boundary/mgrid_provider/BUILD.bazel | 1 - .../mgrid_provider/mgrid_provider.cc | 96 +- .../mgrid_provider/mgrid_provider.h | 7 +- .../test_data/wout_cth_like_free_bdy.nc | Bin 407100 -> 407412 bytes .../vmecpp/test_data/wout_solovev_free_bdy.nc | Bin 109704 -> 109704 bytes .../test_data/wout_solovev_free_bdy_T.nc | Bin 109704 -> 109704 bytes .../output_quantities_test.cc | 12 +- .../cpp/vmecpp/vmec/pybind11/pybind_vmec.cc | 7 - src/vmecpp/cpp/vmecpp/vmec/vmec/vmec.cc | 1 - src/vmecpp/cpp/vmecpp/vmec/vmec/vmec_test.cc | 11 +- .../external_magnetic_field_test.cc | 4 +- .../laplace_solver/laplace_solver_test.cc | 20 +- .../mgrid_provider/mgrid_provider_test.cc | 79 +- .../free_boundary/nestor/nestor_test.cc | 8 +- .../regularized_integrals_test.cc | 4 +- .../singular_integrals_test.cc | 4 +- .../surface_geometry/surface_geometry_test.cc | 1 - ...xes_00015_000054_01.cth_like_free_bdy.json | 4 +- ...rav_00015_000054_01.cth_like_free_bdy.json | 4 +- ...cov_00015_000054_01.cth_like_free_bdy.json | 4 +- ...ull_00015_000054_01.cth_like_free_bdy.json | 4 +- ...out_00015_000000_01.cth_like_free_bdy.json | 4 +- ...bss_00015_000000_01.cth_like_free_bdy.json | 4 +- ...bal_00015_000054_01.cth_like_free_bdy.json | 4 +- ...rce_00015_000054_01.cth_like_free_bdy.json | 4 +- ...lve_00015_000053_01.cth_like_free_bdy.json | 4 +- ...lve_00015_000054_01.cth_like_free_bdy.json | 4 +- ...ces_00015_000053_01.cth_like_free_bdy.json | 4 +- ...ces_00015_000054_01.cth_like_free_bdy.json | 4 +- ...ata_00015_000000_01.cth_like_free_bdy.json | 4 +- ...fsq_00015_000053_01.cth_like_free_bdy.json | 4 +- ...fsq_00015_000054_01.cth_like_free_bdy.json | 4 +- ...sq1_00015_000053_01.cth_like_free_bdy.json | 4 +- ...sq1_00015_000054_01.cth_like_free_bdy.json | 4 +- ...try_00015_000054_01.cth_like_free_bdy.json | 4 +- ...ian_00015_000054_01.cth_like_free_bdy.json | 4 +- ...ass_00015_000000_01.cth_like_free_bdy.json | 4 +- ...out_00015_000000_01.cth_like_free_bdy.json | 4 +- ...ces_00015_000054_01.cth_like_free_bdy.json | 4 +- ...omb_00015_000054_01.cth_like_free_bdy.json | 4 +- ...ier_00015_000000_01.cth_like_free_bdy.json | 4 +- ...ric_00015_000054_01.cth_like_free_bdy.json | 4 +- ...ult_00015_000490_00.cth_like_free_bdy.json | 3 - ...ult_00015_000496_00.cth_like_free_bdy.json | 3 + ..._gc_00015_000053_01.cth_like_free_bdy.json | 4 +- ..._gc_00015_000054_01.cth_like_free_bdy.json | 4 +- ...bsq_00015_000053_01.cth_like_free_bdy.json | 4 +- ...bsq_00015_000054_01.cth_like_free_bdy.json | 4 +- ..._m1_00015_000053_01.cth_like_free_bdy.json | 4 +- ..._m1_00015_000054_01.cth_like_free_bdy.json | 4 +- ...out_00015_000053_01.cth_like_free_bdy.json | 4 +- ...out_00015_000054_01.cth_like_free_bdy.json | 4 +- ...xis_00015_000000_01.cth_like_free_bdy.json | 4 +- ...eta_00015_000000_01.cth_like_free_bdy.json | 4 +- ...ble_00015_000000_01.cth_like_free_bdy.json | 4 +- ...mag_00015_000000_01.cth_like_free_bdy.json | 4 +- ...int_00015_000000_01.cth_like_free_bdy.json | 4 +- ...ant_00015_000000_01.cth_like_free_bdy.json | 4 +- ...sps_00015_000053_01.cth_like_free_bdy.json | 4 +- ...sps_00015_000054_01.cth_like_free_bdy.json | 4 +- ...put_00015_000054_01.cth_like_free_bdy.json | 4 +- ...lyt_00015_000053_01.cth_like_free_bdy.json | 4 +- ...lyt_00015_000054_01.cth_like_free_bdy.json | 4 +- ...ern_00015_000053_01.cth_like_free_bdy.json | 4 +- ...ern_00015_000054_01.cth_like_free_bdy.json | 4 +- ...vac_00015_000053_01.cth_like_free_bdy.json | 4 +- ...vac_00015_000054_01.cth_like_free_bdy.json | 4 +- ...uri_00015_000053_01.cth_like_free_bdy.json | 4 +- ...urp_00015_000053_01.cth_like_free_bdy.json | 4 +- ...enf_00015_000053_01.cth_like_free_bdy.json | 4 +- ...ver_00015_000053_01.cth_like_free_bdy.json | 4 +- ...ver_00015_000054_01.cth_like_free_bdy.json | 4 +- ...ace_00015_000054_01.cth_like_free_bdy.json | 4 +- ...uum_00015_000054_01.cth_like_free_bdy.json | 4 +- ...ume_00015_000054_01.cth_like_free_bdy.json | 4 +- ...uxes_00032_000001_01.solovev_free_bdy.json | 4 +- ...uxes_00032_000002_01.solovev_free_bdy.json | 4 +- ...trav_00032_000001_01.solovev_free_bdy.json | 4 +- ...trav_00032_000002_01.solovev_free_bdy.json | 4 +- ...bcov_00032_000001_01.solovev_free_bdy.json | 4 +- ...bcov_00032_000002_01.solovev_free_bdy.json | 4 +- ...full_00032_000001_01.solovev_free_bdy.json | 4 +- ...full_00032_000002_01.solovev_free_bdy.json | 4 +- ...eout_00032_000000_01.solovev_free_bdy.json | 4 +- .../bss_00032_000000_01.solovev_free_bdy.json | 4 +- ...fbal_00032_000001_01.solovev_free_bdy.json | 4 +- ...fbal_00032_000002_01.solovev_free_bdy.json | 4 +- ...orce_00032_000001_01.solovev_free_bdy.json | 4 +- ...orce_00032_000002_01.solovev_free_bdy.json | 4 +- ...olve_00032_000001_01.solovev_free_bdy.json | 4 +- ...olve_00032_000002_01.solovev_free_bdy.json | 4 +- ...tcon_00032_000001_01.solovev_free_bdy.json | 4 +- ...rces_00032_000001_01.solovev_free_bdy.json | 4 +- ...rces_00032_000002_01.solovev_free_bdy.json | 4 +- ...data_00032_000000_01.solovev_free_bdy.json | 4 +- .../fsq_00032_000001_01.solovev_free_bdy.json | 4 +- .../fsq_00032_000002_01.solovev_free_bdy.json | 2 +- ...fsq1_00032_000001_01.solovev_free_bdy.json | 2 +- ...fsq1_00032_000002_01.solovev_free_bdy.json | 4 +- ...etry_00032_000001_01.solovev_free_bdy.json | 4 +- ...etry_00032_000002_01.solovev_free_bdy.json | 4 +- ...terp_00032_000001_01.solovev_free_bdy.json | 4 +- ...bian_00032_000001_01.solovev_free_bdy.json | 4 +- ...bian_00032_000002_01.solovev_free_bdy.json | 4 +- ...pass_00032_000000_01.solovev_free_bdy.json | 4 +- ...bout_00032_000000_01.solovev_free_bdy.json | 4 +- ...rces_00032_000001_01.solovev_free_bdy.json | 4 +- ...rces_00032_000002_01.solovev_free_bdy.json | 4 +- ...mcal_00032_000001_01.solovev_free_bdy.json | 4 +- ...comb_00032_000001_01.solovev_free_bdy.json | 4 +- ...comb_00032_000002_01.solovev_free_bdy.json | 4 +- ...cier_00032_000000_01.solovev_free_bdy.json | 4 +- ...tric_00032_000001_01.solovev_free_bdy.json | 4 +- ...tric_00032_000002_01.solovev_free_bdy.json | 4 +- ...sult_00016_000417_00.solovev_free_bdy.json | 3 + ...sult_00016_000420_00.solovev_free_bdy.json | 3 - ...sult_00032_000774_00.solovev_free_bdy.json | 3 - ...sult_00032_000808_00.solovev_free_bdy.json | 3 + ...s_gc_00032_000001_01.solovev_free_bdy.json | 4 +- ...s_gc_00032_000002_01.solovev_free_bdy.json | 4 +- ...ondn_00032_000001_01.solovev_free_bdy.json | 4 +- ...tout_00032_000001_01.solovev_free_bdy.json | 4 +- ...rbsq_00032_000002_01.solovev_free_bdy.json | 4 +- ...e_m1_00032_000001_01.solovev_free_bdy.json | 4 +- ...e_m1_00032_000002_01.solovev_free_bdy.json | 4 +- ...or_R_00032_000001_01.solovev_free_bdy.json | 4 +- ...or_R_00032_000002_01.solovev_free_bdy.json | 4 +- ...or_Z_00032_000001_01.solovev_free_bdy.json | 4 +- ...or_Z_00032_000002_01.solovev_free_bdy.json | 4 +- ..._out_00032_000001_01.solovev_free_bdy.json | 4 +- ..._out_00032_000002_01.solovev_free_bdy.json | 4 +- ...axis_00032_000000_01.solovev_free_bdy.json | 2 +- ...beta_00032_000000_01.solovev_free_bdy.json | 4 +- ...able_00032_000000_01.solovev_free_bdy.json | 4 +- ...omag_00032_000000_01.solovev_free_bdy.json | 4 +- ...rint_00032_000000_01.solovev_free_bdy.json | 4 +- ...uant_00032_000000_01.solovev_free_bdy.json | 4 +- ...nsps_00032_000001_01.solovev_free_bdy.json | 4 +- ...nsps_00032_000002_01.solovev_free_bdy.json | 4 +- ...nput_00032_000001_01.solovev_free_bdy.json | 4 +- ...nput_00032_000002_01.solovev_free_bdy.json | 4 +- ...alyt_00032_000002_01.solovev_free_bdy.json | 4 +- ...tern_00032_000002_01.solovev_free_bdy.json | 4 +- ...qvac_00032_000002_01.solovev_free_bdy.json | 4 +- ...lver_00032_000002_01.solovev_free_bdy.json | 4 +- ...face_00032_000002_01.solovev_free_bdy.json | 4 +- ...cuum_00032_000002_01.solovev_free_bdy.json | 4 +- ...lume_00032_000001_01.solovev_free_bdy.json | 4 +- ...lume_00032_000002_01.solovev_free_bdy.json | 4 +- .../test_data/wout_cth_like_free_bdy.nc | 2 +- .../ideal_mhd_model/ideal_mhd_model_test.cc | 76 +- .../output_quantities_test.cc | 59 +- .../vmec/vmec/vmec_test.cc | 8 +- tests/test_free_boundary.py | 4 +- tests/test_init.py | 1 - tests/test_mgrid_interpolation.py | 73 +- 165 files changed, 456 insertions(+), 4928 deletions(-) delete mode 100644 benchmarks/mgrid_interpolation.py delete mode 100644 benchmarks/mgrid_interpolation_results.json delete mode 100644 docs/vacuum_field_interpolation.md delete mode 100644 src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/multigrid_result/multigrid_result_00015_000490_00.cth_like_free_bdy.json create mode 100644 src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/multigrid_result/multigrid_result_00015_000496_00.cth_like_free_bdy.json create mode 100644 src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/multigrid_result/multigrid_result_00016_000417_00.solovev_free_bdy.json delete mode 100644 src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/multigrid_result/multigrid_result_00016_000420_00.solovev_free_bdy.json delete mode 100644 src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/multigrid_result/multigrid_result_00032_000774_00.solovev_free_bdy.json create mode 100644 src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/multigrid_result/multigrid_result_00032_000808_00.solovev_free_bdy.json diff --git a/README.md b/README.md index 01e1e87ce..d86d214a9 100644 --- a/README.md +++ b/README.md @@ -361,7 +361,6 @@ VMEC++: neither are the associated input fields `precon_type` and `prec2d_threshold` - VMEC++ only computes the output quantities if the run converged (can be overridden via `return_outputs_even_if_not_converged` input) - The Fortran version falls back to fixed-boundary computation if the `mgrid` file cannot be found; VMEC++ (gracefully) errors out instead. -- VMEC++ uses cubic interpolation of vacuum-field tables in R and Z by default. Set `mgrid_interpolation = vmecpp.MGridInterpolation.LINEAR` for historical bilinear results. See [vacuum-field interpolation](docs/vacuum_field_interpolation.md) for accuracy measurements and reproduction commands. - The Fortran version accepts both the full path or filename of the input file as well as the "extension", i.e., the part after `input.`; VMEC++ only supports a valid filename or full path to an existing input file. ## Roadmap diff --git a/benchmarks/mgrid_interpolation.py b/benchmarks/mgrid_interpolation.py deleted file mode 100644 index c146eb920..000000000 --- a/benchmarks/mgrid_interpolation.py +++ /dev/null @@ -1,311 +0,0 @@ -# SPDX-FileCopyrightText: 2026 Proxima Fusion GmbH -# SPDX-License-Identifier: MIT -"""Compare vacuum interpolation at fixed coils, plasma resolution and tolerance. - -Generate a fine response table from coils, or use a supplied MGRID file. Retain raw -outputs and run each measured solve in a separate process. Timings include VMEC output -computation but exclude table generation, reading and validation. -""" - -from __future__ import annotations - -import argparse -import gzip -import hashlib -import json -import random -import shutil -import subprocess -import sys -import time -from importlib.metadata import version -from pathlib import Path - -import numpy as np -from netCDF4 import Dataset - -import vmecpp - - -def digest(path): - return hashlib.sha256(Path(path).read_bytes()).hexdigest() - - -def save(path, value): - path.write_text(json.dumps(value, indent=2, allow_nan=False) + "\n") - - -def prepare(args): - folder = args.output / "inputs" - folder.mkdir() - inputs = vmecpp.VmecInput.from_file(args.input) - if not inputs.lfreeb: - message = "A free-boundary input is required" - raise ValueError(message) - inputs.ftol_array[-1] = args.ftol - inputs.niter_array = np.maximum(inputs.niter_array, args.iterations) - inputs.return_outputs_even_if_not_converged = False - inputs.mgrid_file = "" - inputs.save(folder / "input.json") - provenance = {"input_sha256": digest(args.input), "ftol": args.ftol} - started = time.perf_counter() - if args.coils: - if args.parameters is None: - message = "--parameters is required with --coils" - raise ValueError(message) - parameters = vmecpp.MakegridParameters.from_file(args.parameters) - parameters.number_of_r_grid_points = args.finest - parameters.number_of_z_grid_points = args.finest - field = vmecpp.MagneticFieldResponseTable.from_coils_file( - args.coils, parameters - ) - arrays = {key: getattr(field, key) for key in ("b_r", "b_p", "b_z")} - provenance.update( - coils_sha256=digest(args.coils), - reference="finer table from identical source coils", - ) - else: - with Dataset(args.mgrid) as data: - - def scalar(name): - return np.asarray(data.variables[name][...]).item() - - parameters = vmecpp.MakegridParameters( - normalize_by_currents=b"S" - in np.asarray(data.variables["mgrid_mode"][...]).tobytes(), - assume_stellarator_symmetry=not inputs.lasym, - number_of_field_periods=int(scalar("nfp")), - r_grid_minimum=scalar("rmin"), - r_grid_maximum=scalar("rmax"), - z_grid_minimum=scalar("zmin"), - z_grid_maximum=scalar("zmax"), - number_of_r_grid_points=int(scalar("ir")), - number_of_z_grid_points=int(scalar("jz")), - number_of_phi_grid_points=int(scalar("kp")), - ) - arrays = { - key: np.stack( - [ - np.asarray(data.variables[f"{prefix}_{i:03d}"][...]).ravel() - for i in range(1, int(scalar("nextcur")) + 1) - ] - ) - for key, prefix in (("b_r", "br"), ("b_p", "bp"), ("b_z", "bz")) - } - provenance.update( - mgrid_sha256=digest(args.mgrid), - reference="original supplied table; no independent finer coil data", - ) - provenance["table_preparation_seconds"] = time.perf_counter() - started - np.savez_compressed( - folder / "response.npz", - b_r=arrays["b_r"], - b_p=arrays["b_p"], - b_z=arrays["b_z"], - ) - save(folder / "field.json", parameters.model_dump(mode="json")) - provenance.update( - response_sha256=digest(folder / "response.npz"), - parameters_sha256=digest(folder / "field.json"), - prepared_input_sha256=digest(folder / "input.json"), - ) - save(folder / "provenance.json", provenance) - return parameters.number_of_r_grid_points - - -def worker(args): - load_started = time.perf_counter() - folder = args.output.parent / "inputs" - inputs = vmecpp.VmecInput.from_file(folder / "input.json") - inputs.mgrid_interpolation = vmecpp.MGridInterpolation(args.scheme) - parameters = vmecpp.MakegridParameters( - **json.loads((folder / "field.json").read_text()) - ) - nr = parameters.number_of_r_grid_points - nz = parameters.number_of_z_grid_points - stride = (nr - 1) // (args.grid - 1) - if stride < 1 or (nr - 1) % (args.grid - 1) or (nz - 1) % stride: - message = "The smaller grid must be an exact stride of the source grid" - raise ValueError(message) - with np.load(folder / "response.npz") as archive: - arrays = {} - for key in ("b_r", "b_p", "b_z"): - values = archive[key] - grid = values.reshape(-1, parameters.number_of_phi_grid_points, nz, nr) - arrays[key] = np.ascontiguousarray(grid[:, :, ::stride, ::stride]).reshape( - values.shape[0], -1 - ) - parameters.number_of_r_grid_points = args.grid - parameters.number_of_z_grid_points = (nz - 1) // stride + 1 - field = vmecpp.MagneticFieldResponseTable(parameters=parameters, **arrays) - inputs.save(args.output / "input.json") - result = { - "scheme": args.scheme, - "grid": args.grid, - "z_points": parameters.number_of_z_grid_points, - "repeat": args.repeat, - "input_sha256": digest(args.output / "input.json"), - "converged": False, - "started_at": time.time(), - "load_seconds": time.perf_counter() - load_started, - } - started = time.perf_counter() - try: - output = vmecpp.run(inputs, field, max_threads=args.threads, verbose=False) - result["seconds"] = time.perf_counter() - started - w = output.wout - residuals = [float(w.fsqr), float(w.fsqz), float(w.fsql)] - keys = [ - "rmnc", - "zmns", - "lmns", - "bmnc", - "bsupumnc", - "bsupvmnc", - "iotaf", - "presf", - "phi", - ] - if inputs.lasym: - keys += ["rmns", "zmnc", "lmnc", "bmns", "bsupumns", "bsupvmns"] - finite = all(np.isfinite(getattr(w, key)).all() for key in keys) - result.update( - iterations=int(w.itfsq), - residuals=residuals, - converged=bool( - w.ier_flag == 0 - and w.ns == inputs.ns_array[-1] - and w.mpol == inputs.mpol - and w.ntor == inputs.ntor - and finite - and np.isfinite(residuals).all() - and max(residuals) <= inputs.ftol_array[-1] - ), - ) - with gzip.open(args.output / "output.json.gz", "wt") as stream: - stream.write(output.model_dump_json()) - except RuntimeError as error: - result.update(seconds=time.perf_counter() - started, error=str(error)) - result["finished_at"] = time.time() - save(args.output / "result.json", result) - - -def run(args): - args.output.mkdir(parents=True, exist_ok=False) - finest = prepare(args) - script = args.output / "runner.py" - shutil.copy2(__file__, script) - native = Path(vmecpp._vmecpp.__file__) - save( - args.output / "environment.json", - { - "script_sha256": digest(script), - "threads": args.threads, - "python": sys.version, - "package": version("vmecpp"), - "binaries": { - p.name: digest(p) - for p in native.parent.iterdir() - if p.suffix in (".so", ".dylib") - }, - }, - ) - pairs = [(grid, repeat) for grid in args.grids for repeat in range(args.repeats)] - rng = random.Random(20260907) - rng.shuffle(pairs) - schedule = [(finest, -1, "cubic")] - for grid, repeat in pairs: - schemes = ["linear", "cubic"] - rng.shuffle(schemes) - schedule.extend((grid, repeat, scheme) for scheme in schemes) - save(args.output / "schedule.json", schedule) - rows = [] - reference = None - for grid, repeat, scheme in schedule: - target = args.output / f"{scheme}-{grid}-{repeat}" - target.mkdir() - command = [ - sys.executable, - str(script), - "--worker", - "--output", - str(target), - "--grid", - str(grid), - "--scheme", - scheme, - "--repeat", - str(repeat), - "--threads", - str(args.threads), - ] - with (target / "process.log").open("w") as log: - try: - process = subprocess.run( - command, - stdout=log, - stderr=subprocess.STDOUT, - timeout=args.timeout, - check=False, - ) - result = ( - json.loads((target / "result.json").read_text()) - if (target / "result.json").exists() - else {"converged": False, "exit_code": process.returncode} - ) - except subprocess.TimeoutExpired: - result = {"converged": False, "timeout": args.timeout} - result.update(scheme=scheme, grid=grid, repeat=repeat) - if result["converged"]: - with gzip.open(target / "output.json.gz", "rt") as stream: - w = json.load(stream)["wout"] - if reference is None: - reference = w - for key in ("rmnc", "zmns", "lmns", "bmnc", "iotaf"): - result[key + "_maximum_difference"] = float( - np.max(np.abs(np.asarray(w[key]) - np.asarray(reference[key]))) - ) - elif repeat == -1: - save(args.output / "results.json", [result]) - message = "The reference solve failed; see its process log" - raise RuntimeError(message) - rows.append(result) - save(args.output / "results.json", rows) - print(json.dumps(result), flush=True) # noqa: T201 - - -def main(): - parser = argparse.ArgumentParser(description=__doc__) - parser.add_argument("--input", type=Path) - source = parser.add_mutually_exclusive_group() - source.add_argument("--coils", type=Path) - source.add_argument("--mgrid", type=Path) - parser.add_argument("--parameters", type=Path) - parser.add_argument("--output", type=Path, required=True) - parser.add_argument("--finest", type=int, default=401) - parser.add_argument("--grids", type=int, nargs="+", default=[51, 101]) - parser.add_argument("--ftol", type=float, default=1e-14) - parser.add_argument("--iterations", type=int, default=20000) - parser.add_argument("--repeats", type=int, default=8) - parser.add_argument("--threads", type=int, default=4) - parser.add_argument("--timeout", type=float, default=300) - parser.add_argument("--worker", action="store_true", help=argparse.SUPPRESS) - parser.add_argument("--grid", type=int, help=argparse.SUPPRESS) - parser.add_argument("--scheme", choices=["linear", "cubic"], help=argparse.SUPPRESS) - parser.add_argument("--repeat", type=int, help=argparse.SUPPRESS) - args = parser.parse_args() - args.output = args.output.resolve() - if args.worker: - worker(args) - else: - if args.input is None or not (args.coils or args.mgrid): - parser.error("Supply --input and either --coils or --mgrid") - if min(args.grids) < 2 or min(args.repeats, args.threads) < 1: - parser.error( - "Grid sizes must be at least two; repeats and threads positive" - ) - run(args) - - -if __name__ == "__main__": - main() diff --git a/benchmarks/mgrid_interpolation_results.json b/benchmarks/mgrid_interpolation_results.json deleted file mode 100644 index 31606be17..000000000 --- a/benchmarks/mgrid_interpolation_results.json +++ /dev/null @@ -1,3856 +0,0 @@ -{ - "baseline_commit": "98aaaeadad261763fc7147573580f7d908eec77c", - "candidate_numerical_commit": "b301d2bdd82b02c8c7f3a3191bf752eb6eb73e04", - "baseline_binaries": { - "wheel": "vmecpp-0.7.4.dev73+g98aaaeada-cp314-cp314-macosx_26_0_arm64.whl", - "wheel_sha256": "f839bbabc6873132e0c9c5ba6f00188f2c1c75199da23053b0a8cbd4dd6ba27c", - "binaries": { - "package-main-current/vmecpp/cpp/libvmecpp_core.dylib": "998dc5638891ce70be4944d4d50f8dcf00b1baf8243864a6a73deba836487d0d", - "package-main-current/vmecpp/cpp/_vmecpp.cpython-314-darwin.so": "f3a99e42b0f8e15876940241751acf1cb1350c109c7f3c624dfb19a9cdef1f8f" - } - }, - "candidate_binaries": { - "wheel": "vmecpp-0.7.4.dev74+gb301d2bdd-cp314-cp314-macosx_26_0_arm64.whl", - "wheel_sha256": "8041d0ef6936fe9b3f605772a597a6f21fb84bc1cc7f095a05081606e7c1f1cb", - "binaries": { - "package-mgrid-api-final/vmecpp/cpp/libvmecpp_core.dylib": "93b2bb3cd3014e41ac49ab04020473540dfce028645b2cdd6ebc39a93788ca5c", - "package-mgrid-api-final/vmecpp/cpp/_vmecpp.cpython-314-darwin.so": "8474596f3ab87f97f977f4ba51d32d67e199d43e2686284e0fdceb243d1edea7" - } - }, - "hardware": { - "cpu": "Apple M4", - "cpu_cores": 10, - "memory_gib": 16, - "solver_threads": 4 - }, - "timing_method": "Six adjacent randomly ordered process-isolated pairs per case/grid, with no concurrent builds or scientific checks. Timed solver includes output quantities; excludes table load/preparation and artifact writes.", - "timing_summary": [ - { - "case": "cth_like_free_bdy", - "grid": 51, - "pairs": 6, - "baseline_median_seconds": 0.6700645625005563, - "cubic_median_seconds": 0.6653486250006608, - "median_paired_ratio": 0.9936818087889222, - "paired_ratio_bootstrap_95_interval": [ - 0.9886482917090493, - 1.007451841405793 - ], - "baseline_iterations": [ - 932 - ], - "cubic_iterations": [ - 923 - ], - "max_pair_gap_seconds": 1.3945279121398926, - "all_converged": true - }, - { - "case": "cth_like_free_bdy", - "grid": 101, - "pairs": 6, - "baseline_median_seconds": 0.6723707290002494, - "cubic_median_seconds": 0.6710321869995823, - "median_paired_ratio": 1.0027240088514366, - "paired_ratio_bootstrap_95_interval": [ - 0.9919462379002657, - 1.0107305913795508 - ], - "baseline_iterations": [ - 932 - ], - "cubic_iterations": [ - 923 - ], - "max_pair_gap_seconds": 1.3829610347747803, - "all_converged": true - }, - { - "case": "quasr65579", - "grid": 51, - "pairs": 6, - "baseline_median_seconds": 3.313661187499747, - "cubic_median_seconds": 3.2570593125001324, - "median_paired_ratio": 0.9831139138619074, - "paired_ratio_bootstrap_95_interval": [ - 0.9738116532002452, - 0.9904361909209216 - ], - "baseline_iterations": [ - 4420 - ], - "cubic_iterations": [ - 4333 - ], - "max_pair_gap_seconds": 3.940016031265259, - "all_converged": true - }, - { - "case": "quasr65579", - "grid": 101, - "pairs": 6, - "baseline_median_seconds": 3.2469350624996878, - "cubic_median_seconds": 3.2625043329999244, - "median_paired_ratio": 1.009651843760631, - "paired_ratio_bootstrap_95_interval": [ - 0.9981056183215149, - 1.0128349640749716 - ], - "baseline_iterations": [ - 4331 - ], - "cubic_iterations": [ - 4334 - ], - "max_pair_gap_seconds": 3.9445669651031494, - "all_converged": true - }, - { - "case": "quasr954", - "grid": 51, - "pairs": 6, - "baseline_median_seconds": 3.015163666999797, - "cubic_median_seconds": 2.84495568750026, - "median_paired_ratio": 0.9437288421559615, - "paired_ratio_bootstrap_95_interval": [ - 0.9157068190814703, - 0.9641103004183531 - ], - "baseline_iterations": [ - 3776 - ], - "cubic_iterations": [ - 3560 - ], - "max_pair_gap_seconds": 3.711254835128784, - "all_converged": true - }, - { - "case": "quasr954", - "grid": 101, - "pairs": 6, - "baseline_median_seconds": 2.7306937289995403, - "cubic_median_seconds": 2.8276230419996864, - "median_paired_ratio": 1.0368920006994617, - "paired_ratio_bootstrap_95_interval": [ - 1.0208387882808223, - 1.081028438338413 - ], - "baseline_iterations": [ - 3450 - ], - "cubic_iterations": [ - 3557 - ], - "max_pair_gap_seconds": 3.6750328540802, - "all_converged": true - }, - { - "case": "solovev_free_bdy", - "grid": 51, - "pairs": 6, - "baseline_median_seconds": 0.5443804374990577, - "cubic_median_seconds": 0.5728189374995054, - "median_paired_ratio": 1.0522539419721295, - "paired_ratio_bootstrap_95_interval": [ - 1.038460626138216, - 1.0765949285516896 - ], - "baseline_iterations": [ - 1032 - ], - "cubic_iterations": [ - 1091 - ], - "max_pair_gap_seconds": 0.8980958461761475, - "all_converged": true - }, - { - "case": "solovev_free_bdy", - "grid": 101, - "pairs": 6, - "baseline_median_seconds": 0.5386313749995679, - "cubic_median_seconds": 0.5734362080002029, - "median_paired_ratio": 1.0613955382073836, - "paired_ratio_bootstrap_95_interval": [ - 1.0528939796113375, - 1.079103890289255 - ], - "baseline_iterations": [ - 1023 - ], - "cubic_iterations": [ - 1091 - ], - "max_pair_gap_seconds": 0.8471479415893555, - "all_converged": true - }, - { - "case": "cth_like_free_bdy_asym", - "grid": 101, - "pairs": 6, - "baseline_median_seconds": 0.2837164170005053, - "cubic_median_seconds": 0.28723585400075535, - "median_paired_ratio": 1.0135331648136283, - "paired_ratio_bootstrap_95_interval": [ - 0.9769079528600499, - 1.0295216268485363 - ], - "baseline_iterations": [ - 246 - ], - "cubic_iterations": [ - 246 - ], - "max_pair_gap_seconds": 0.9026389122009277, - "all_converged": true - }, - { - "case": "w7x_beta1_mn5_ns51", - "grid": 121, - "pairs": 6, - "baseline_median_seconds": 3.623771458500414, - "cubic_median_seconds": 3.7732061044998773, - "median_paired_ratio": 1.0038338863061975, - "paired_ratio_bootstrap_95_interval": [ - 0.9896537131653105, - 1.0797999802604306 - ], - "baseline_iterations": [ - 1568 - ], - "cubic_iterations": [ - 1562 - ], - "max_pair_gap_seconds": 6.5874152183532715, - "all_converged": true - } - ], - "paired_solver_observations": [ - { - "case": "cth_like_free_bdy", - "label": "bilinear", - "grid": 101, - "repeat": 0, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.6739931250012887, - "iterations": 932, - "residuals": [ - 9.94702921636879e-15, - 2.2197681395128718e-15, - 6.929399001455904e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "bilinear", - "grid": 101, - "repeat": 1, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.6699125830000412, - "iterations": 932, - "residuals": [ - 9.94702921636879e-15, - 2.2197681395128718e-15, - 6.929399001455904e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "bilinear", - "grid": 101, - "repeat": 2, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.6708192080004665, - "iterations": 932, - "residuals": [ - 9.94702921636879e-15, - 2.2197681395128718e-15, - 6.929399001455904e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "bilinear", - "grid": 101, - "repeat": 3, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.6740437500011467, - "iterations": 932, - "residuals": [ - 9.94702921636879e-15, - 2.2197681395128718e-15, - 6.929399001455904e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "bilinear", - "grid": 101, - "repeat": 4, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.6637898330009193, - "iterations": 932, - "residuals": [ - 9.94702921636879e-15, - 2.2197681395128718e-15, - 6.929399001455904e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "bilinear", - "grid": 101, - "repeat": 5, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.6739222500000324, - "iterations": 932, - "residuals": [ - 9.94702921636879e-15, - 2.2197681395128718e-15, - 6.929399001455904e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "bilinear", - "grid": 51, - "repeat": 0, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.6658354999999574, - "iterations": 932, - "residuals": [ - 9.848567628257376e-15, - 2.1739815301107182e-15, - 6.700991536538891e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "bilinear", - "grid": 51, - "repeat": 1, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.6714527080002881, - "iterations": 932, - "residuals": [ - 9.848567628257376e-15, - 2.1739815301107182e-15, - 6.700991536538891e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "bilinear", - "grid": 51, - "repeat": 2, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.6723576250005863, - "iterations": 932, - "residuals": [ - 9.848567628257376e-15, - 2.1739815301107182e-15, - 6.700991536538891e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "bilinear", - "grid": 51, - "repeat": 3, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.6689486249997572, - "iterations": 932, - "residuals": [ - 9.848567628257376e-15, - 2.1739815301107182e-15, - 6.700991536538891e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "bilinear", - "grid": 51, - "repeat": 4, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.6626263750004, - "iterations": 932, - "residuals": [ - 9.848567628257376e-15, - 2.1739815301107182e-15, - 6.700991536538891e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "bilinear", - "grid": 51, - "repeat": 5, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.6711805000013555, - "iterations": 932, - "residuals": [ - 9.848567628257376e-15, - 2.1739815301107182e-15, - 6.700991536538891e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "cubic", - "grid": 101, - "repeat": 0, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.6694865829995251, - "iterations": 923, - "residuals": [ - 9.940360904367503e-15, - 2.2312773636091636e-15, - 7.216405526967652e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "cubic", - "grid": 101, - "repeat": 1, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.6636012079998181, - "iterations": 923, - "residuals": [ - 9.940360904367503e-15, - 2.2312773636091636e-15, - 7.216405526967652e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "cubic", - "grid": 101, - "repeat": 2, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.6725777909996395, - "iterations": 923, - "residuals": [ - 9.940360904367503e-15, - 2.2312773636091636e-15, - 7.216405526967652e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "cubic", - "grid": 101, - "repeat": 3, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.675948916001289, - "iterations": 923, - "residuals": [ - 9.940360904367503e-15, - 2.2312773636091636e-15, - 7.216405526967652e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "cubic", - "grid": 101, - "repeat": 4, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.6674749579997297, - "iterations": 923, - "residuals": [ - 9.940360904367503e-15, - 2.2312773636091636e-15, - 7.216405526967652e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "cubic", - "grid": 101, - "repeat": 5, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.6846440419994906, - "iterations": 923, - "residuals": [ - 9.940360904367503e-15, - 2.2312773636091636e-15, - 7.216405526967652e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "cubic", - "grid": 51, - "repeat": 0, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.661698541000078, - "iterations": 923, - "residuals": [ - 9.939179494345034e-15, - 2.231075627306393e-15, - 7.215978829624456e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "cubic", - "grid": 51, - "repeat": 1, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.6708734580006421, - "iterations": 923, - "residuals": [ - 9.939179494345034e-15, - 2.231075627306393e-15, - 7.215978829624456e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "cubic", - "grid": 51, - "repeat": 2, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.6638278749996971, - "iterations": 923, - "residuals": [ - 9.939179494345034e-15, - 2.231075627306393e-15, - 7.215978829624456e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "cubic", - "grid": 51, - "repeat": 3, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.6622477079999953, - "iterations": 923, - "residuals": [ - 9.939179494345034e-15, - 2.231075627306393e-15, - 7.215978829624456e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "cubic", - "grid": 51, - "repeat": 4, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.6730735839992121, - "iterations": 923, - "residuals": [ - 9.939179494345034e-15, - 2.231075627306393e-15, - 7.215978829624456e-15 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy", - "label": "cubic", - "grid": 51, - "repeat": 5, - "threads": 4, - "input_sha256": "f825e220c6ea6be815f4ef4adf7ba9ab46b5198bd68badc6157ec98e67b12909", - "response_sha256": "bb3b429a9f95f784fd4a3a03a4ac076059b68c74884851af9c49e1a2b8d04a43", - "converged": true, - "solve_seconds": 0.6668693750016246, - "iterations": 923, - "residuals": [ - 9.939179494345034e-15, - 2.231075627306393e-15, - 7.215978829624456e-15 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "bilinear", - "grid": 101, - "repeat": 0, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.2672867080000287, - "iterations": 4331, - "residuals": [ - 9.79420332121697e-15, - 8.293001006491186e-15, - 2.8856047189300946e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "bilinear", - "grid": 101, - "repeat": 1, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.2436648749990127, - "iterations": 4331, - "residuals": [ - 9.79420332121697e-15, - 8.293001006491186e-15, - 2.8856047189300946e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "bilinear", - "grid": 101, - "repeat": 2, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.251058208001268, - "iterations": 4331, - "residuals": [ - 9.79420332121697e-15, - 8.293001006491186e-15, - 2.8856047189300946e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "bilinear", - "grid": 101, - "repeat": 3, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.208497540999815, - "iterations": 4331, - "residuals": [ - 9.79420332121697e-15, - 8.293001006491186e-15, - 2.8856047189300946e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "bilinear", - "grid": 101, - "repeat": 4, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.250205250000363, - "iterations": 4331, - "residuals": [ - 9.79420332121697e-15, - 8.293001006491186e-15, - 2.8856047189300946e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "bilinear", - "grid": 101, - "repeat": 5, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.240545499998916, - "iterations": 4331, - "residuals": [ - 9.79420332121697e-15, - 8.293001006491186e-15, - 2.8856047189300946e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "bilinear", - "grid": 51, - "repeat": 0, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.317139667000447, - "iterations": 4420, - "residuals": [ - 9.568106835323592e-15, - 3.040872934360011e-15, - 8.06387687107177e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "bilinear", - "grid": 51, - "repeat": 1, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.3105836249997083, - "iterations": 4420, - "residuals": [ - 9.568106835323592e-15, - 3.040872934360011e-15, - 8.06387687107177e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "bilinear", - "grid": 51, - "repeat": 2, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.3773983329992916, - "iterations": 4420, - "residuals": [ - 9.568106835323592e-15, - 3.040872934360011e-15, - 8.06387687107177e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "bilinear", - "grid": 51, - "repeat": 3, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.266716999998607, - "iterations": 4420, - "residuals": [ - 9.568106835323592e-15, - 3.040872934360011e-15, - 8.06387687107177e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "bilinear", - "grid": 51, - "repeat": 4, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.316738749999786, - "iterations": 4420, - "residuals": [ - 9.568106835323592e-15, - 3.040872934360011e-15, - 8.06387687107177e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "bilinear", - "grid": 51, - "repeat": 5, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.2971438339991437, - "iterations": 4420, - "residuals": [ - 9.568106835323592e-15, - 3.040872934360011e-15, - 8.06387687107177e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "cubic", - "grid": 101, - "repeat": 0, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.255666375000146, - "iterations": 4334, - "residuals": [ - 9.99339290154838e-15, - 8.256024968853219e-15, - 5.616665934564166e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "cubic", - "grid": 101, - "repeat": 1, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.2876354580002953, - "iterations": 4334, - "residuals": [ - 9.99339290154838e-15, - 8.256024968853219e-15, - 5.616665934564166e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "cubic", - "grid": 101, - "repeat": 2, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.250303332999465, - "iterations": 4334, - "residuals": [ - 9.99339290154838e-15, - 8.256024968853219e-15, - 5.616665934564166e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "cubic", - "grid": 101, - "repeat": 3, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.241921374999947, - "iterations": 4334, - "residuals": [ - 9.99339290154838e-15, - 8.256024968853219e-15, - 5.616665934564166e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "cubic", - "grid": 101, - "repeat": 4, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.289578542000527, - "iterations": 4334, - "residuals": [ - 9.99339290154838e-15, - 8.256024968853219e-15, - 5.616665934564166e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "cubic", - "grid": 101, - "repeat": 5, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.2693422909997025, - "iterations": 4334, - "residuals": [ - 9.99339290154838e-15, - 8.256024968853219e-15, - 5.616665934564166e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "cubic", - "grid": 51, - "repeat": 0, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.219808334000845, - "iterations": 4333, - "residuals": [ - 9.208848237073561e-15, - 8.201582502724637e-15, - 5.577967132409644e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "cubic", - "grid": 51, - "repeat": 1, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.259775750000699, - "iterations": 4333, - "residuals": [ - 9.208848237073561e-15, - 8.201582502724637e-15, - 5.577967132409644e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "cubic", - "grid": 51, - "repeat": 2, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.315169542000149, - "iterations": 4333, - "residuals": [ - 9.208848237073561e-15, - 8.201582502724637e-15, - 5.577967132409644e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "cubic", - "grid": 51, - "repeat": 3, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.2543428749995655, - "iterations": 4333, - "residuals": [ - 9.208848237073561e-15, - 8.201582502724637e-15, - 5.577967132409644e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "cubic", - "grid": 51, - "repeat": 4, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.2658610420003242, - "iterations": 4333, - "residuals": [ - 9.208848237073561e-15, - 8.201582502724637e-15, - 5.577967132409644e-16 - ], - "finite": true - }, - { - "case": "quasr65579", - "label": "cubic", - "grid": 51, - "repeat": 5, - "threads": 4, - "input_sha256": "eee6a521edb72f0fdcb3ca7335b4643e02a23b94ca3b3991700934f00d040f24", - "response_sha256": "5e9641a3eb31f8d1beb68b80d2847e2ffece697c9600b542d28c494c15255a37", - "converged": true, - "solve_seconds": 3.2211949579996144, - "iterations": 4333, - "residuals": [ - 9.208848237073561e-15, - 8.201582502724637e-15, - 5.577967132409644e-16 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "bilinear", - "grid": 101, - "repeat": 0, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 2.716841666999244, - "iterations": 3450, - "residuals": [ - 9.910221713579732e-15, - 8.035712626226745e-16, - 1.1066432173669361e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "bilinear", - "grid": 101, - "repeat": 1, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 2.7290611669995997, - "iterations": 3450, - "residuals": [ - 9.910221713579732e-15, - 8.035712626226745e-16, - 1.1066432173669361e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "bilinear", - "grid": 101, - "repeat": 2, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 2.7328035829996224, - "iterations": 3450, - "residuals": [ - 9.910221713579732e-15, - 8.035712626226745e-16, - 1.1066432173669361e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "bilinear", - "grid": 101, - "repeat": 3, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 2.772418041999117, - "iterations": 3450, - "residuals": [ - 9.910221713579732e-15, - 8.035712626226745e-16, - 1.1066432173669361e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "bilinear", - "grid": 101, - "repeat": 4, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 2.732326290999481, - "iterations": 3450, - "residuals": [ - 9.910221713579732e-15, - 8.035712626226745e-16, - 1.1066432173669361e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "bilinear", - "grid": 101, - "repeat": 5, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 2.72498933299903, - "iterations": 3450, - "residuals": [ - 9.910221713579732e-15, - 8.035712626226745e-16, - 1.1066432173669361e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "bilinear", - "grid": 51, - "repeat": 0, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 2.980942624999443, - "iterations": 3776, - "residuals": [ - 9.72680482384537e-15, - 1.1872961179050188e-15, - 1.0490774441639535e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "bilinear", - "grid": 51, - "repeat": 1, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 2.9873447499994654, - "iterations": 3776, - "residuals": [ - 9.72680482384537e-15, - 1.1872961179050188e-15, - 1.0490774441639535e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "bilinear", - "grid": 51, - "repeat": 2, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 3.0429825840001286, - "iterations": 3776, - "residuals": [ - 9.72680482384537e-15, - 1.1872961179050188e-15, - 1.0490774441639535e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "bilinear", - "grid": 51, - "repeat": 3, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 3.0504154169993853, - "iterations": 3776, - "residuals": [ - 9.72680482384537e-15, - 1.1872961179050188e-15, - 1.0490774441639535e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "bilinear", - "grid": 51, - "repeat": 4, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 3.113090167000337, - "iterations": 3776, - "residuals": [ - 9.72680482384537e-15, - 1.1872961179050188e-15, - 1.0490774441639535e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "bilinear", - "grid": 51, - "repeat": 5, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 2.9663114169998153, - "iterations": 3776, - "residuals": [ - 9.72680482384537e-15, - 1.1872961179050188e-15, - 1.0490774441639535e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "cubic", - "grid": 101, - "repeat": 0, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 2.8060503329998028, - "iterations": 3557, - "residuals": [ - 9.954406678245695e-15, - 8.8313243813586e-16, - 1.0098617411454938e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "cubic", - "grid": 101, - "repeat": 1, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 2.8195201250000537, - "iterations": 3557, - "residuals": [ - 9.954406678245695e-15, - 8.8313243813586e-16, - 1.0098617411454938e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "cubic", - "grid": 101, - "repeat": 2, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 3.0326109590005217, - "iterations": 3557, - "residuals": [ - 9.954406678245695e-15, - 8.8313243813586e-16, - 1.0098617411454938e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "cubic", - "grid": 101, - "repeat": 3, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 2.796932167000705, - "iterations": 3557, - "residuals": [ - 9.954406678245695e-15, - 8.8313243813586e-16, - 1.0098617411454938e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "cubic", - "grid": 101, - "repeat": 4, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 2.875363541999832, - "iterations": 3557, - "residuals": [ - 9.954406678245695e-15, - 8.8313243813586e-16, - 1.0098617411454938e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "cubic", - "grid": 101, - "repeat": 5, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 2.835725958999319, - "iterations": 3557, - "residuals": [ - 9.954406678245695e-15, - 8.8313243813586e-16, - 1.0098617411454938e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "cubic", - "grid": 51, - "repeat": 0, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 2.822915583001304, - "iterations": 3560, - "residuals": [ - 9.859245584638774e-15, - 8.548087339707465e-16, - 1.0037668259899318e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "cubic", - "grid": 51, - "repeat": 1, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 2.891310834000251, - "iterations": 3560, - "residuals": [ - 9.859245584638774e-15, - 8.548087339707465e-16, - 1.0037668259899318e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "cubic", - "grid": 51, - "repeat": 2, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 2.8618342089994258, - "iterations": 3560, - "residuals": [ - 9.859245584638774e-15, - 8.548087339707465e-16, - 1.0037668259899318e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "cubic", - "grid": 51, - "repeat": 3, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 2.841162250000707, - "iterations": 3560, - "residuals": [ - 9.859245584638774e-15, - 8.548087339707465e-16, - 1.0037668259899318e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "cubic", - "grid": 51, - "repeat": 4, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 2.80181816699951, - "iterations": 3560, - "residuals": [ - 9.859245584638774e-15, - 8.548087339707465e-16, - 1.0037668259899318e-15 - ], - "finite": true - }, - { - "case": "quasr954", - "label": "cubic", - "grid": 51, - "repeat": 5, - "threads": 4, - "input_sha256": "49096246244b0ffcd4da8d9de33e5e9c4963ea903572bb3cbdbf8d71e522148c", - "response_sha256": "036e97c9373745ccd884e89ee096c397f58d5c93f4e78187ef02fceda1dc387d", - "converged": true, - "solve_seconds": 2.848749124999813, - "iterations": 3560, - "residuals": [ - 9.859245584638774e-15, - 8.548087339707465e-16, - 1.0037668259899318e-15 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "bilinear", - "grid": 101, - "repeat": 0, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.5364692919993104, - "iterations": 1023, - "residuals": [ - 9.663062406676233e-15, - 1.125348000369618e-15, - 4.1218087077888227e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "bilinear", - "grid": 101, - "repeat": 1, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.54343020899978, - "iterations": 1023, - "residuals": [ - 9.663062406676233e-15, - 1.125348000369618e-15, - 4.1218087077888227e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "bilinear", - "grid": 101, - "repeat": 2, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.5400532499988913, - "iterations": 1023, - "residuals": [ - 9.663062406676233e-15, - 1.125348000369618e-15, - 4.1218087077888227e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "bilinear", - "grid": 101, - "repeat": 3, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.5419814169999881, - "iterations": 1023, - "residuals": [ - 9.663062406676233e-15, - 1.125348000369618e-15, - 4.1218087077888227e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "bilinear", - "grid": 101, - "repeat": 4, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.5329177500007063, - "iterations": 1023, - "residuals": [ - 9.663062406676233e-15, - 1.125348000369618e-15, - 4.1218087077888227e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "bilinear", - "grid": 101, - "repeat": 5, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.5372095000002446, - "iterations": 1023, - "residuals": [ - 9.663062406676233e-15, - 1.125348000369618e-15, - 4.1218087077888227e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "bilinear", - "grid": 51, - "repeat": 0, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.5529846669996914, - "iterations": 1032, - "residuals": [ - 9.719197086483415e-15, - 7.385108774954436e-16, - 3.5178658456126324e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "bilinear", - "grid": 51, - "repeat": 1, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.5414760830008163, - "iterations": 1032, - "residuals": [ - 9.719197086483415e-15, - 7.385108774954436e-16, - 3.5178658456126324e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "bilinear", - "grid": 51, - "repeat": 2, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.5465043329986656, - "iterations": 1032, - "residuals": [ - 9.719197086483415e-15, - 7.385108774954436e-16, - 3.5178658456126324e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "bilinear", - "grid": 51, - "repeat": 3, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.5468964579995372, - "iterations": 1032, - "residuals": [ - 9.719197086483415e-15, - 7.385108774954436e-16, - 3.5178658456126324e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "bilinear", - "grid": 51, - "repeat": 4, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.5316857920006441, - "iterations": 1032, - "residuals": [ - 9.719197086483415e-15, - 7.385108774954436e-16, - 3.5178658456126324e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "bilinear", - "grid": 51, - "repeat": 5, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.5422565419994498, - "iterations": 1032, - "residuals": [ - 9.719197086483415e-15, - 7.385108774954436e-16, - 3.5178658456126324e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "cubic", - "grid": 101, - "repeat": 0, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.5788228330002312, - "iterations": 1091, - "residuals": [ - 9.757424624857677e-15, - 1.0418715641757644e-15, - 6.553517718568496e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "cubic", - "grid": 101, - "repeat": 1, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.5800559589988552, - "iterations": 1091, - "residuals": [ - 9.757424624857677e-15, - 1.0418715641757644e-15, - 6.553517718568496e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "cubic", - "grid": 101, - "repeat": 2, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.5675554999997985, - "iterations": 1091, - "residuals": [ - 9.757424624857677e-15, - 1.0418715641757644e-15, - 6.553517718568496e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "cubic", - "grid": 101, - "repeat": 3, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.5717160829990462, - "iterations": 1091, - "residuals": [ - 9.757424624857677e-15, - 1.0418715641757644e-15, - 6.553517718568496e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "cubic", - "grid": 101, - "repeat": 4, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.5751563330013596, - "iterations": 1091, - "residuals": [ - 9.757424624857677e-15, - 1.0418715641757644e-15, - 6.553517718568496e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "cubic", - "grid": 101, - "repeat": 5, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.5669675419994746, - "iterations": 1091, - "residuals": [ - 9.757424624857677e-15, - 1.0418715641757644e-15, - 6.553517718568496e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "cubic", - "grid": 51, - "repeat": 0, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.5712032499995985, - "iterations": 1091, - "residuals": [ - 9.791986845926976e-15, - 1.0432255087636509e-15, - 6.557794877062588e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "cubic", - "grid": 51, - "repeat": 1, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.5762646660004975, - "iterations": 1091, - "residuals": [ - 9.791986845926976e-15, - 1.0432255087636509e-15, - 6.557794877062588e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "cubic", - "grid": 51, - "repeat": 2, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.5731253750000178, - "iterations": 1091, - "residuals": [ - 9.791986845926976e-15, - 1.0432255087636509e-15, - 6.557794877062588e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "cubic", - "grid": 51, - "repeat": 3, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.5709464169995044, - "iterations": 1091, - "residuals": [ - 9.791986845926976e-15, - 1.0432255087636509e-15, - 6.557794877062588e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "cubic", - "grid": 51, - "repeat": 4, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.5789750830008416, - "iterations": 1091, - "residuals": [ - 9.791986845926976e-15, - 1.0432255087636509e-15, - 6.557794877062588e-16 - ], - "finite": true - }, - { - "case": "solovev_free_bdy", - "label": "cubic", - "grid": 51, - "repeat": 5, - "threads": 4, - "input_sha256": "3fdedbce9decedf99d0f3c90c68ffa2b550182730328593afe852b099e72e13f", - "response_sha256": "4904765c3b1628090e1daade09fd5ffb2691942d73728de325f13125c66fbb7d", - "converged": true, - "solve_seconds": 0.572512499998993, - "iterations": 1091, - "residuals": [ - 9.791986845926976e-15, - 1.0432255087636509e-15, - 6.557794877062588e-16 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy_asym", - "label": "bilinear", - "grid": 101, - "repeat": 0, - "threads": 4, - "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", - "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", - "converged": true, - "solve_seconds": 0.28318066700012423, - "iterations": 246, - "residuals": [ - 9.571007874828855e-09, - 3.901093718570839e-09, - 1.8401448077283115e-09 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy_asym", - "label": "bilinear", - "grid": 101, - "repeat": 1, - "threads": 4, - "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", - "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", - "converged": true, - "solve_seconds": 0.30209616699903563, - "iterations": 246, - "residuals": [ - 9.571007874828855e-09, - 3.901093718570839e-09, - 1.8401448077283115e-09 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy_asym", - "label": "bilinear", - "grid": 101, - "repeat": 2, - "threads": 4, - "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", - "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", - "converged": true, - "solve_seconds": 0.28424570900097024, - "iterations": 246, - "residuals": [ - 9.571007874828855e-09, - 3.901093718570839e-09, - 1.8401448077283115e-09 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy_asym", - "label": "bilinear", - "grid": 101, - "repeat": 3, - "threads": 4, - "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", - "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", - "converged": true, - "solve_seconds": 0.2815274580007099, - "iterations": 246, - "residuals": [ - 9.571007874828855e-09, - 3.901093718570839e-09, - 1.8401448077283115e-09 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy_asym", - "label": "bilinear", - "grid": 101, - "repeat": 4, - "threads": 4, - "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", - "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", - "converged": true, - "solve_seconds": 0.2831871250000404, - "iterations": 246, - "residuals": [ - 9.571007874828855e-09, - 3.901093718570839e-09, - 1.8401448077283115e-09 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy_asym", - "label": "bilinear", - "grid": 101, - "repeat": 5, - "threads": 4, - "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", - "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", - "converged": true, - "solve_seconds": 0.28473354099878634, - "iterations": 246, - "residuals": [ - 9.571007874828855e-09, - 3.901093718570839e-09, - 1.8401448077283115e-09 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy_asym", - "label": "cubic", - "grid": 101, - "repeat": 0, - "threads": 4, - "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", - "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", - "converged": true, - "solve_seconds": 0.2933339999999589, - "iterations": 246, - "residuals": [ - 9.557106333684298e-09, - 3.909633070099054e-09, - 1.8473280371221558e-09 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy_asym", - "label": "cubic", - "grid": 101, - "repeat": 1, - "threads": 4, - "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", - "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", - "converged": true, - "solve_seconds": 0.2846745419992658, - "iterations": 246, - "residuals": [ - 9.557106333684298e-09, - 3.909633070099054e-09, - 1.8473280371221558e-09 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy_asym", - "label": "cubic", - "grid": 101, - "repeat": 2, - "threads": 4, - "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", - "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", - "converged": true, - "solve_seconds": 0.288032166999983, - "iterations": 246, - "residuals": [ - 9.557106333684298e-09, - 3.909633070099054e-09, - 1.8473280371221558e-09 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy_asym", - "label": "cubic", - "grid": 101, - "repeat": 3, - "threads": 4, - "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", - "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", - "converged": true, - "solve_seconds": 0.28539712500059977, - "iterations": 246, - "residuals": [ - 9.557106333684298e-09, - 3.909633070099054e-09, - 1.8473280371221558e-09 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy_asym", - "label": "cubic", - "grid": 101, - "repeat": 4, - "threads": 4, - "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", - "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", - "converged": true, - "solve_seconds": 0.2864395410015277, - "iterations": 246, - "residuals": [ - 9.557106333684298e-09, - 3.909633070099054e-09, - 1.8473280371221558e-09 - ], - "finite": true - }, - { - "case": "cth_like_free_bdy_asym", - "label": "cubic", - "grid": 101, - "repeat": 5, - "threads": 4, - "input_sha256": "1a70568811f0ed6c57ce632f25662957c464d887a9c39a153a32916fad8b05ad", - "response_sha256": "6b4dd972d5e95d6aa6220f4722d6945fbe9df280e3e3e71712f5969dca348219", - "converged": true, - "solve_seconds": 0.29133612500118033, - "iterations": 246, - "residuals": [ - 9.557106333684298e-09, - 3.909633070099054e-09, - 1.8473280371221558e-09 - ], - "finite": true - }, - { - "case": "w7x_beta1_mn5_ns51", - "label": "bilinear", - "grid": 121, - "repeat": 0, - "threads": 4, - "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", - "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", - "converged": true, - "solve_seconds": 3.561719625000478, - "iterations": 1568, - "residuals": [ - 9.632490109758147e-13, - 4.3932672994201857e-13, - 9.262636663078502e-13 - ], - "finite": true - }, - { - "case": "w7x_beta1_mn5_ns51", - "label": "bilinear", - "grid": 121, - "repeat": 1, - "threads": 4, - "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", - "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", - "converged": true, - "solve_seconds": 3.620170042000609, - "iterations": 1568, - "residuals": [ - 9.632490109758147e-13, - 4.3932672994201857e-13, - 9.262636663078502e-13 - ], - "finite": true - }, - { - "case": "w7x_beta1_mn5_ns51", - "label": "bilinear", - "grid": 121, - "repeat": 2, - "threads": 4, - "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", - "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", - "converged": true, - "solve_seconds": 3.627372875000219, - "iterations": 1568, - "residuals": [ - 9.632490109758147e-13, - 4.3932672994201857e-13, - 9.262636663078502e-13 - ], - "finite": true - }, - { - "case": "w7x_beta1_mn5_ns51", - "label": "bilinear", - "grid": 121, - "repeat": 3, - "threads": 4, - "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", - "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", - "converged": true, - "solve_seconds": 3.9134961670006305, - "iterations": 1568, - "residuals": [ - 9.632490109758147e-13, - 4.3932672994201857e-13, - 9.262636663078502e-13 - ], - "finite": true - }, - { - "case": "w7x_beta1_mn5_ns51", - "label": "bilinear", - "grid": 121, - "repeat": 4, - "threads": 4, - "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", - "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", - "converged": true, - "solve_seconds": 3.611911665999287, - "iterations": 1568, - "residuals": [ - 9.632490109758147e-13, - 4.3932672994201857e-13, - 9.262636663078502e-13 - ], - "finite": true - }, - { - "case": "w7x_beta1_mn5_ns51", - "label": "bilinear", - "grid": 121, - "repeat": 5, - "threads": 4, - "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", - "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", - "converged": true, - "solve_seconds": 3.723594459001106, - "iterations": 1568, - "residuals": [ - 9.632490109758147e-13, - 4.3932672994201857e-13, - 9.262636663078502e-13 - ], - "finite": true - }, - { - "case": "w7x_beta1_mn5_ns51", - "label": "cubic", - "grid": 121, - "repeat": 0, - "threads": 4, - "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", - "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", - "converged": true, - "solve_seconds": 3.5671790420001344, - "iterations": 1562, - "residuals": [ - 9.896372005060387e-13, - 4.921735953528513e-13, - 8.960529552328282e-13 - ], - "finite": true - }, - { - "case": "w7x_beta1_mn5_ns51", - "label": "cubic", - "grid": 121, - "repeat": 1, - "threads": 4, - "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", - "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", - "converged": true, - "solve_seconds": 3.6419163749997097, - "iterations": 1562, - "residuals": [ - 9.896372005060387e-13, - 4.921735953528513e-13, - 8.960529552328282e-13 - ], - "finite": true - }, - { - "case": "w7x_beta1_mn5_ns51", - "label": "cubic", - "grid": 121, - "repeat": 2, - "threads": 4, - "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", - "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", - "converged": true, - "solve_seconds": 3.912464834000275, - "iterations": 1562, - "residuals": [ - 9.896372005060387e-13, - 4.921735953528513e-13, - 8.960529552328282e-13 - ], - "finite": true - }, - { - "case": "w7x_beta1_mn5_ns51", - "label": "cubic", - "grid": 121, - "repeat": 3, - "threads": 4, - "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", - "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", - "converged": true, - "solve_seconds": 3.91999562500132, - "iterations": 1562, - "residuals": [ - 9.896372005060387e-13, - 4.921735953528513e-13, - 8.960529552328282e-13 - ], - "finite": true - }, - { - "case": "w7x_beta1_mn5_ns51", - "label": "cubic", - "grid": 121, - "repeat": 4, - "threads": 4, - "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", - "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", - "converged": true, - "solve_seconds": 3.904495834000045, - "iterations": 1562, - "residuals": [ - 9.896372005060387e-13, - 4.921735953528513e-13, - 8.960529552328282e-13 - ], - "finite": true - }, - { - "case": "w7x_beta1_mn5_ns51", - "label": "cubic", - "grid": 121, - "repeat": 5, - "threads": 4, - "input_sha256": "6197f6629e699fd8548fe68579af24241d01b6b8a174a3dd39282a2b8fd9317b", - "response_sha256": "3ba44839a1e7506cbdbeaba0185f72846c487b7f8cb2678f14cfb9420e18e85a", - "converged": true, - "solve_seconds": 3.6408361670000886, - "iterations": 1562, - "residuals": [ - 9.896372005060387e-13, - 4.921735953528513e-13, - 8.960529552328282e-13 - ], - "finite": true - } - ], - "physical_field_checks": [ - { - "case": "cth_like_free_bdy", - "label": "bilinear", - "grid": 101, - "physics": { - "grid": [ - 7, - 32, - 24 - ], - "s_range": [ - 0.05, - 0.95 - ], - "steps": [ - 1e-05, - 1e-05, - 1e-05 - ], - "radial_reconstruction": "parity", - "force_rms": 0.003433524925605742, - "force_max": 0.02532778260740456, - "curl_rms": 0.27275310560811256, - "div_rms": 0.0003541827047191256, - "jac_min": -0.013169123225962052, - "jac_max": -0.004293402655326496, - "field_scale": 0.5740038585020223, - "length_scale": 0.14201287186901884, - "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" - }, - "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", - "physical_point_field_relative_rms": 2.9546576231906715e-05, - "position_match_max": 2.5176617391872307e-15, - "mapping_iterations": 2, - "surface_distance_rms": 1.5317381505711793e-05, - "surface_distance_max": 7.106494483032832e-05 - }, - { - "case": "cth_like_free_bdy", - "label": "cubic", - "grid": 51, - "physics": { - "grid": [ - 7, - 32, - 24 - ], - "s_range": [ - 0.05, - 0.95 - ], - "steps": [ - 1e-05, - 1e-05, - 1e-05 - ], - "radial_reconstruction": "parity", - "force_rms": 0.003435731291856249, - "force_max": 0.025379662183226615, - "curl_rms": 0.27274982936586545, - "div_rms": 0.000354584356569695, - "jac_min": -0.013168325906500605, - "jac_max": -0.004293383514479628, - "field_scale": 0.5740115209008574, - "length_scale": 0.142011263041748, - "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" - }, - "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", - "physical_point_field_relative_rms": 4.3445206810605865e-07, - "position_match_max": 5.556117303589682e-12, - "mapping_iterations": 1, - "surface_distance_rms": 2.0530414533736213e-07, - "surface_distance_max": 8.58736443639319e-07 - }, - { - "case": "cth_like_free_bdy", - "label": "cubic", - "grid": 101, - "physics": { - "grid": [ - 7, - 32, - 24 - ], - "s_range": [ - 0.05, - 0.95 - ], - "steps": [ - 1e-05, - 1e-05, - 1e-05 - ], - "radial_reconstruction": "parity", - "force_rms": 0.003435732258048372, - "force_max": 0.025379336806725862, - "curl_rms": 0.2727498616900824, - "div_rms": 0.0003545805008875243, - "jac_min": -0.013168330647082515, - "jac_max": -0.004293378942403702, - "field_scale": 0.5740114304586329, - "length_scale": 0.14201127747593523, - "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" - }, - "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", - "physical_point_field_relative_rms": 2.5021954890190738e-08, - "position_match_max": 1.6782738781820847e-14, - "mapping_iterations": 1, - "surface_distance_rms": 1.116323820623328e-08, - "surface_distance_max": 4.7207172696289275e-08 - }, - { - "case": "solovev_free_bdy", - "label": "bilinear", - "grid": 101, - "physics": { - "grid": [ - 7, - 32, - 24 - ], - "s_range": [ - 0.05, - 0.95 - ], - "steps": [ - 1e-05, - 1e-05, - 1e-05 - ], - "radial_reconstruction": "parity", - "force_rms": 0.0001158341990664453, - "force_max": 0.0006154969159133743, - "curl_rms": 0.1761647170547918, - "div_rms": 1.8882391905643537e-05, - "jac_min": -3.7172232134658976, - "jac_max": -2.195216654495098, - "field_scale": 0.19532322700069485, - "length_scale": 1.2727839008808162, - "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" - }, - "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", - "physical_point_field_relative_rms": 0.00014113265405549697, - "position_match_max": 2.8457249041605285e-15, - "mapping_iterations": 3, - "surface_distance_rms": 0.0009418784927812139, - "surface_distance_max": 0.001558863956571256 - }, - { - "case": "solovev_free_bdy", - "label": "cubic", - "grid": 51, - "physics": { - "grid": [ - 7, - 32, - 24 - ], - "s_range": [ - 0.05, - 0.95 - ], - "steps": [ - 1e-05, - 1e-05, - 1e-05 - ], - "radial_reconstruction": "parity", - "force_rms": 0.00011190564280759987, - "force_max": 0.0006139243659735771, - "curl_rms": 0.17615973187137202, - "div_rms": 1.884409663347409e-05, - "jac_min": -3.719005629850616, - "jac_max": -2.193324170806415, - "field_scale": 0.1953771094810813, - "length_scale": 1.272605912441972, - "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" - }, - "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", - "physical_point_field_relative_rms": 1.4224696974760978e-06, - "position_match_max": 3.4755478145461824e-15, - "mapping_iterations": 2, - "surface_distance_rms": 1.105154782618864e-05, - "surface_distance_max": 1.4388304361182711e-05 - }, - { - "case": "solovev_free_bdy", - "label": "cubic", - "grid": 101, - "physics": { - "grid": [ - 7, - 32, - 24 - ], - "s_range": [ - 0.05, - 0.95 - ], - "steps": [ - 1e-05, - 1e-05, - 1e-05 - ], - "radial_reconstruction": "parity", - "force_rms": 0.00011196805040649867, - "force_max": 0.0006139161497954734, - "curl_rms": 0.1761593314937742, - "div_rms": 1.8843803655848523e-05, - "jac_min": -3.7190512604267876, - "jac_max": -2.1933459591961113, - "field_scale": 0.19537652489393684, - "length_scale": 1.2726078298699028, - "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" - }, - "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", - "physical_point_field_relative_rms": 1.1997578852604448e-07, - "position_match_max": 5.078371997395918e-12, - "mapping_iterations": 1, - "surface_distance_rms": 8.7446533229163e-07, - "surface_distance_max": 1.1721799411198778e-06 - }, - { - "case": "quasr954", - "label": "bilinear", - "grid": 101, - "physics": { - "grid": [ - 7, - 32, - 24 - ], - "s_range": [ - 0.05, - 0.95 - ], - "steps": [ - 1e-05, - 1e-05, - 1e-05 - ], - "radial_reconstruction": "parity", - "force_rms": 0.0020813569830512822, - "force_max": 0.020864804868927098, - "curl_rms": 0.0021830400934182217, - "div_rms": 2.0140350965849804e-05, - "jac_min": -0.01430467005290678, - "jac_max": -0.0055584224611652305, - "field_scale": 1.0093268226099756, - "length_scale": 0.14997423294873183, - "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" - }, - "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", - "physical_point_field_relative_rms": 7.623083930346244e-05, - "position_match_max": 4.768600091998721e-12, - "mapping_iterations": 2, - "surface_distance_rms": 0.00013753251931782184, - "surface_distance_max": 0.0004568554082861841 - }, - { - "case": "quasr954", - "label": "cubic", - "grid": 51, - "physics": { - "grid": [ - 7, - 32, - 24 - ], - "s_range": [ - 0.05, - 0.95 - ], - "steps": [ - 1e-05, - 1e-05, - 1e-05 - ], - "radial_reconstruction": "parity", - "force_rms": 0.002098447141785075, - "force_max": 0.021160016567113586, - "curl_rms": 0.0021990953407875083, - "div_rms": 1.997295132076247e-05, - "jac_min": -0.014375665003603622, - "jac_max": -0.0055494336593380775, - "field_scale": 1.0091971232744272, - "length_scale": 0.14998004409158006, - "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" - }, - "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", - "physical_point_field_relative_rms": 4.847778737980796e-06, - "position_match_max": 6.12637639460453e-14, - "mapping_iterations": 2, - "surface_distance_rms": 3.093736365538351e-05, - "surface_distance_max": 8.273576386807361e-05 - }, - { - "case": "quasr954", - "label": "cubic", - "grid": 101, - "physics": { - "grid": [ - 7, - 32, - 24 - ], - "s_range": [ - 0.05, - 0.95 - ], - "steps": [ - 1e-05, - 1e-05, - 1e-05 - ], - "radial_reconstruction": "parity", - "force_rms": 0.0020981797112975703, - "force_max": 0.02116915093185801, - "curl_rms": 0.0021988284971532455, - "div_rms": 1.9976335790642006e-05, - "jac_min": -0.014375687595811672, - "jac_max": -0.005548636360168848, - "field_scale": 1.0092275464648666, - "length_scale": 0.1499784931798708, - "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" - }, - "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", - "physical_point_field_relative_rms": 2.904217526455456e-07, - "position_match_max": 7.021666937153402e-16, - "mapping_iterations": 2, - "surface_distance_rms": 1.84907046130721e-06, - "surface_distance_max": 4.843716785116606e-06 - }, - { - "case": "quasr65579", - "label": "bilinear", - "grid": 101, - "physics": { - "grid": [ - 7, - 32, - 24 - ], - "s_range": [ - 0.05, - 0.95 - ], - "steps": [ - 1e-05, - 1e-05, - 1e-05 - ], - "radial_reconstruction": "parity", - "force_rms": 0.010206938473681341, - "force_max": 0.2506730823990451, - "curl_rms": 0.010314097849278645, - "div_rms": 0.0006597361571755678, - "jac_min": -0.04313816325182125, - "jac_max": -0.006684748260136855, - "field_scale": 0.9985617285938084, - "length_scale": 0.20008996462311224, - "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" - }, - "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", - "physical_point_field_relative_rms": 6.877105765549047e-05, - "position_match_max": 4.66833992953587e-12, - "mapping_iterations": 2, - "surface_distance_rms": 0.0003322636647960635, - "surface_distance_max": 0.0006777466433203919 - }, - { - "case": "quasr65579", - "label": "cubic", - "grid": 51, - "physics": { - "grid": [ - 7, - 32, - 24 - ], - "s_range": [ - 0.05, - 0.95 - ], - "steps": [ - 1e-05, - 1e-05, - 1e-05 - ], - "radial_reconstruction": "parity", - "force_rms": 0.010117402798054655, - "force_max": 0.24701836063402857, - "curl_rms": 0.010226553016411212, - "div_rms": 0.0006547299119001606, - "jac_min": -0.04303653233919453, - "jac_max": -0.0067070731675862505, - "field_scale": 0.9987932745329545, - "length_scale": 0.20006863419161056, - "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" - }, - "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", - "physical_point_field_relative_rms": 4.208908589175938e-06, - "position_match_max": 4.491694543674084e-15, - "mapping_iterations": 2, - "surface_distance_rms": 1.8821138204230688e-05, - "surface_distance_max": 3.4950621005525793e-05 - }, - { - "case": "quasr65579", - "label": "cubic", - "grid": 101, - "physics": { - "grid": [ - 7, - 32, - 24 - ], - "s_range": [ - 0.05, - 0.95 - ], - "steps": [ - 1e-05, - 1e-05, - 1e-05 - ], - "radial_reconstruction": "parity", - "force_rms": 0.010120835082122782, - "force_max": 0.24694382314438693, - "curl_rms": 0.01022935013484844, - "div_rms": 0.0006549413580197522, - "jac_min": -0.04303468644104602, - "jac_max": -0.006706449816742236, - "field_scale": 0.9988163116952794, - "length_scale": 0.20006647500818756, - "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" - }, - "reference": "cubic interpolation of the same source coils on a 401-by-401 R/Z table", - "physical_point_field_relative_rms": 2.6791989264981436e-07, - "position_match_max": 7.110250420355457e-16, - "mapping_iterations": 2, - "surface_distance_rms": 9.985655387727435e-07, - "surface_distance_max": 2.344827341445661e-06 - } - ], - "quasr_regression_outcomes": [ - { - "case": "quasr112718_beta1", - "label": "bilinear", - "grid": 101, - "input_sha256": "e9e63662e19ada3265469a6b4f178df45066a22523353f7bf30e679bd85e999f", - "response_sha256": "16458068c90348ae131d6a73a5711d11bfea088c8fa7c2208da2389bdb8810c7", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr112718_beta1", - "label": "cubic", - "grid": 101, - "input_sha256": "e9e63662e19ada3265469a6b4f178df45066a22523353f7bf30e679bd85e999f", - "response_sha256": "16458068c90348ae131d6a73a5711d11bfea088c8fa7c2208da2389bdb8810c7", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr112718_beta2_current", - "label": "bilinear", - "grid": 101, - "input_sha256": "333d0e10d369d51a75aefc2d1d6c62151a6206e61020f2228fbeb2540ca9aa8c", - "response_sha256": "16458068c90348ae131d6a73a5711d11bfea088c8fa7c2208da2389bdb8810c7", - "converged": false, - "failure_category": "outside field grid" - }, - { - "case": "quasr112718_beta2_current", - "label": "cubic", - "grid": 101, - "input_sha256": "333d0e10d369d51a75aefc2d1d6c62151a6206e61020f2228fbeb2540ca9aa8c", - "response_sha256": "16458068c90348ae131d6a73a5711d11bfea088c8fa7c2208da2389bdb8810c7", - "converged": false, - "failure_category": "outside field grid" - }, - { - "case": "quasr112718_vacuum", - "label": "bilinear", - "grid": 101, - "input_sha256": "950cfdb196f990c5fae384c508023bd36570fb70c92d92bfbde36ad94f492f14", - "response_sha256": "16458068c90348ae131d6a73a5711d11bfea088c8fa7c2208da2389bdb8810c7", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr112718_vacuum", - "label": "cubic", - "grid": 101, - "input_sha256": "950cfdb196f990c5fae384c508023bd36570fb70c92d92bfbde36ad94f492f14", - "response_sha256": "16458068c90348ae131d6a73a5711d11bfea088c8fa7c2208da2389bdb8810c7", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr165868_beta1", - "label": "bilinear", - "grid": 101, - "input_sha256": "aacc5df1b02daa4e7a81743a5aec898dac9072085fc7370aa4becf274c14f75e", - "response_sha256": "66159fc99e8afd84873f74c40b90cd86faab498916bbeb896c53bfd3f01ef835", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr165868_beta1", - "label": "cubic", - "grid": 101, - "input_sha256": "aacc5df1b02daa4e7a81743a5aec898dac9072085fc7370aa4becf274c14f75e", - "response_sha256": "66159fc99e8afd84873f74c40b90cd86faab498916bbeb896c53bfd3f01ef835", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr165868_beta2_current", - "label": "bilinear", - "grid": 101, - "input_sha256": "52be871fe0d429890e06a2d12b18fb120f524cf2a7b913f0b33bb504456f3471", - "response_sha256": "66159fc99e8afd84873f74c40b90cd86faab498916bbeb896c53bfd3f01ef835", - "converged": false, - "failure_category": "outside field grid" - }, - { - "case": "quasr165868_beta2_current", - "label": "cubic", - "grid": 101, - "input_sha256": "52be871fe0d429890e06a2d12b18fb120f524cf2a7b913f0b33bb504456f3471", - "response_sha256": "66159fc99e8afd84873f74c40b90cd86faab498916bbeb896c53bfd3f01ef835", - "converged": false, - "failure_category": "outside field grid" - }, - { - "case": "quasr165868_vacuum", - "label": "bilinear", - "grid": 101, - "input_sha256": "4de596d8e1b67b5adefe50d1186ba3b969e68a8c3db0797a3d6dd7dc2eaeb888", - "response_sha256": "66159fc99e8afd84873f74c40b90cd86faab498916bbeb896c53bfd3f01ef835", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr165868_vacuum", - "label": "cubic", - "grid": 101, - "input_sha256": "4de596d8e1b67b5adefe50d1186ba3b969e68a8c3db0797a3d6dd7dc2eaeb888", - "response_sha256": "66159fc99e8afd84873f74c40b90cd86faab498916bbeb896c53bfd3f01ef835", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr167381_beta1", - "label": "bilinear", - "grid": 101, - "input_sha256": "954e7162f5d1ec54619ce29c4c2aa338e6ec5df0d4d91a0387c87d9f5e3d0176", - "response_sha256": "6268adb7c2586d59f06e5bd8e4eb223ef250fb35a3354951bf45fe4d6d986090", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr167381_beta1", - "label": "cubic", - "grid": 101, - "input_sha256": "954e7162f5d1ec54619ce29c4c2aa338e6ec5df0d4d91a0387c87d9f5e3d0176", - "response_sha256": "6268adb7c2586d59f06e5bd8e4eb223ef250fb35a3354951bf45fe4d6d986090", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr167381_beta2_current", - "label": "bilinear", - "grid": 101, - "input_sha256": "61c2a031480ef718ce8938168bb4676d9c580df6654044f767bbfe6fbe41e0ec", - "response_sha256": "6268adb7c2586d59f06e5bd8e4eb223ef250fb35a3354951bf45fe4d6d986090", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr167381_beta2_current", - "label": "cubic", - "grid": 101, - "input_sha256": "61c2a031480ef718ce8938168bb4676d9c580df6654044f767bbfe6fbe41e0ec", - "response_sha256": "6268adb7c2586d59f06e5bd8e4eb223ef250fb35a3354951bf45fe4d6d986090", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr167381_vacuum", - "label": "bilinear", - "grid": 101, - "input_sha256": "61f836d4fd14db44327032f75b0d14c8b3b78d34d3549a7ffdbf890ebef8fd5c", - "response_sha256": "6268adb7c2586d59f06e5bd8e4eb223ef250fb35a3354951bf45fe4d6d986090", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr167381_vacuum", - "label": "cubic", - "grid": 101, - "input_sha256": "61f836d4fd14db44327032f75b0d14c8b3b78d34d3549a7ffdbf890ebef8fd5c", - "response_sha256": "6268adb7c2586d59f06e5bd8e4eb223ef250fb35a3354951bf45fe4d6d986090", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr19493_beta1", - "label": "bilinear", - "grid": 101, - "input_sha256": "c4ff2365c89e1c58d91095b723db482ea6ad8786261d5864fb73df75a0c9f455", - "response_sha256": "b2e56bf446aa950df307b5871d47218ac8b6fe0f17e740ddf56e8880c3864e9f", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr19493_beta1", - "label": "cubic", - "grid": 101, - "input_sha256": "c4ff2365c89e1c58d91095b723db482ea6ad8786261d5864fb73df75a0c9f455", - "response_sha256": "b2e56bf446aa950df307b5871d47218ac8b6fe0f17e740ddf56e8880c3864e9f", - "converged": false, - "failure_category": "RuntimeError: There was an error in one or more threads during a VMEC++ run:" - }, - { - "case": "quasr19493_beta2_current", - "label": "bilinear", - "grid": 101, - "input_sha256": "1d0b5cef3cdfe8aba7aa9e1dd0c27c0d04c6dbf66e7d19a6c0e1abfd9545fb2d", - "response_sha256": "b2e56bf446aa950df307b5871d47218ac8b6fe0f17e740ddf56e8880c3864e9f", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr19493_beta2_current", - "label": "cubic", - "grid": 101, - "input_sha256": "1d0b5cef3cdfe8aba7aa9e1dd0c27c0d04c6dbf66e7d19a6c0e1abfd9545fb2d", - "response_sha256": "b2e56bf446aa950df307b5871d47218ac8b6fe0f17e740ddf56e8880c3864e9f", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr19493_vacuum", - "label": "bilinear", - "grid": 101, - "input_sha256": "1b10ac43f03b7133509ccd71ad5cc92f0dc0eebf85a77e7a1cb22ab3198e201e", - "response_sha256": "b2e56bf446aa950df307b5871d47218ac8b6fe0f17e740ddf56e8880c3864e9f", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr19493_vacuum", - "label": "cubic", - "grid": 101, - "input_sha256": "1b10ac43f03b7133509ccd71ad5cc92f0dc0eebf85a77e7a1cb22ab3198e201e", - "response_sha256": "b2e56bf446aa950df307b5871d47218ac8b6fe0f17e740ddf56e8880c3864e9f", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr19609_beta1", - "label": "bilinear", - "grid": 101, - "input_sha256": "253d0030008226826ac88551d9a926fa12f3fa3008ba6f218158af89cd98b0cd", - "response_sha256": "57041a83366db99adcafa38817ee3c3134ec0adce67d2664ccc6afaac4380b3d", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr19609_beta1", - "label": "cubic", - "grid": 101, - "input_sha256": "253d0030008226826ac88551d9a926fa12f3fa3008ba6f218158af89cd98b0cd", - "response_sha256": "57041a83366db99adcafa38817ee3c3134ec0adce67d2664ccc6afaac4380b3d", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr19609_beta2_current", - "label": "bilinear", - "grid": 101, - "input_sha256": "1d517dbaf4b6bc548b1342bc4dfa891cf51e480cb02b29f1ef9148c408a89c44", - "response_sha256": "57041a83366db99adcafa38817ee3c3134ec0adce67d2664ccc6afaac4380b3d", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr19609_beta2_current", - "label": "cubic", - "grid": 101, - "input_sha256": "1d517dbaf4b6bc548b1342bc4dfa891cf51e480cb02b29f1ef9148c408a89c44", - "response_sha256": "57041a83366db99adcafa38817ee3c3134ec0adce67d2664ccc6afaac4380b3d", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr19609_vacuum", - "label": "bilinear", - "grid": 101, - "input_sha256": "ca68740051032cac523cc260f23d32f2fb7f706c5deefa26d264baea9c90fdb2", - "response_sha256": "57041a83366db99adcafa38817ee3c3134ec0adce67d2664ccc6afaac4380b3d", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr19609_vacuum", - "label": "cubic", - "grid": 101, - "input_sha256": "ca68740051032cac523cc260f23d32f2fb7f706c5deefa26d264baea9c90fdb2", - "response_sha256": "57041a83366db99adcafa38817ee3c3134ec0adce67d2664ccc6afaac4380b3d", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr19940_beta1", - "label": "bilinear", - "grid": 101, - "input_sha256": "f74a0532947c26e15f300d94cd97860eaee55d5512a84c0bdc40a736fb874ce6", - "response_sha256": "8b5c6d2bf1f5604a5b5178883d0536861d96492f5c9c4c9f0c2ef39daf1c3de5", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr19940_beta1", - "label": "cubic", - "grid": 101, - "input_sha256": "f74a0532947c26e15f300d94cd97860eaee55d5512a84c0bdc40a736fb874ce6", - "response_sha256": "8b5c6d2bf1f5604a5b5178883d0536861d96492f5c9c4c9f0c2ef39daf1c3de5", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr19940_beta2_current", - "label": "bilinear", - "grid": 101, - "input_sha256": "28bff417cccf98213b426f0de084af375fec589326294392ed78fb4ffd923b28", - "response_sha256": "8b5c6d2bf1f5604a5b5178883d0536861d96492f5c9c4c9f0c2ef39daf1c3de5", - "converged": false, - "failure_category": "outside field grid" - }, - { - "case": "quasr19940_beta2_current", - "label": "cubic", - "grid": 101, - "input_sha256": "28bff417cccf98213b426f0de084af375fec589326294392ed78fb4ffd923b28", - "response_sha256": "8b5c6d2bf1f5604a5b5178883d0536861d96492f5c9c4c9f0c2ef39daf1c3de5", - "converged": false, - "failure_category": "outside field grid" - }, - { - "case": "quasr19940_vacuum", - "label": "bilinear", - "grid": 101, - "input_sha256": "c66018dce16056ca271deb971db8725f742d4c166ecd97e3aa36b09b77900396", - "response_sha256": "8b5c6d2bf1f5604a5b5178883d0536861d96492f5c9c4c9f0c2ef39daf1c3de5", - "converged": true, - "iterations": 1553, - "residuals": [ - 9.089152082616585e-10, - 1.684685165871294e-10, - 1.763115073070302e-11 - ], - "finite": true - }, - { - "case": "quasr19940_vacuum", - "label": "cubic", - "grid": 101, - "input_sha256": "c66018dce16056ca271deb971db8725f742d4c166ecd97e3aa36b09b77900396", - "response_sha256": "8b5c6d2bf1f5604a5b5178883d0536861d96492f5c9c4c9f0c2ef39daf1c3de5", - "converged": true, - "iterations": 1548, - "residuals": [ - 9.755521958636537e-10, - 1.543318731798864e-10, - 1.8608830655402853e-11 - ], - "finite": true - }, - { - "case": "quasr29346_beta1", - "label": "bilinear", - "grid": 101, - "input_sha256": "6dd79a58efcf7f4f1894d938e7ff8f199bcdb431e8855f805b0917e0f0922fa5", - "response_sha256": "84fc9c63ef8e75bc1b2d759cb691203d9e63aeac25799aaf1737238729582e85", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr29346_beta1", - "label": "cubic", - "grid": 101, - "input_sha256": "6dd79a58efcf7f4f1894d938e7ff8f199bcdb431e8855f805b0917e0f0922fa5", - "response_sha256": "84fc9c63ef8e75bc1b2d759cb691203d9e63aeac25799aaf1737238729582e85", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr29346_beta2_current", - "label": "bilinear", - "grid": 101, - "input_sha256": "6318dfedce234350075324ac7ee5e297ca73f1f604c8a79987a6584c058a9016", - "response_sha256": "84fc9c63ef8e75bc1b2d759cb691203d9e63aeac25799aaf1737238729582e85", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr29346_beta2_current", - "label": "cubic", - "grid": 101, - "input_sha256": "6318dfedce234350075324ac7ee5e297ca73f1f604c8a79987a6584c058a9016", - "response_sha256": "84fc9c63ef8e75bc1b2d759cb691203d9e63aeac25799aaf1737238729582e85", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr29346_vacuum", - "label": "bilinear", - "grid": 101, - "input_sha256": "edbcb26655b7d04199f2856bc1ee243eefd19f9c8eee75b3c5af771128bc8551", - "response_sha256": "84fc9c63ef8e75bc1b2d759cb691203d9e63aeac25799aaf1737238729582e85", - "converged": true, - "iterations": 1400, - "residuals": [ - 9.670029953258021e-10, - 8.25812120008154e-11, - 5.4231423717772254e-11 - ], - "finite": true - }, - { - "case": "quasr29346_vacuum", - "label": "cubic", - "grid": 101, - "input_sha256": "edbcb26655b7d04199f2856bc1ee243eefd19f9c8eee75b3c5af771128bc8551", - "response_sha256": "84fc9c63ef8e75bc1b2d759cb691203d9e63aeac25799aaf1737238729582e85", - "converged": true, - "iterations": 1406, - "residuals": [ - 9.462735462869318e-10, - 8.128302101510643e-11, - 5.212882093233113e-11 - ], - "finite": true - }, - { - "case": "quasr336902_beta1", - "label": "bilinear", - "grid": 101, - "input_sha256": "137480a845fc207e8d4712eafe1d96321c76056bd3f50db8e60c6b56ba815cd8", - "response_sha256": "afa41b6b1768c76d2f70c422bc4adae759cc229bdc9f8b03dbfa2ced8261fa0e", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr336902_beta1", - "label": "cubic", - "grid": 101, - "input_sha256": "137480a845fc207e8d4712eafe1d96321c76056bd3f50db8e60c6b56ba815cd8", - "response_sha256": "afa41b6b1768c76d2f70c422bc4adae759cc229bdc9f8b03dbfa2ced8261fa0e", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr336902_beta2_current", - "label": "bilinear", - "grid": 101, - "input_sha256": "8b4f061fd9a558682eededf5a08217a99df0ef679c4ac09dec1ed9ddd5a2f394", - "response_sha256": "afa41b6b1768c76d2f70c422bc4adae759cc229bdc9f8b03dbfa2ced8261fa0e", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr336902_beta2_current", - "label": "cubic", - "grid": 101, - "input_sha256": "8b4f061fd9a558682eededf5a08217a99df0ef679c4ac09dec1ed9ddd5a2f394", - "response_sha256": "afa41b6b1768c76d2f70c422bc4adae759cc229bdc9f8b03dbfa2ced8261fa0e", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr336902_vacuum", - "label": "bilinear", - "grid": 101, - "input_sha256": "cf59e259a315e922e834c2b5881759bb965d18e5ea3b5ba7988b728a4f15bea5", - "response_sha256": "afa41b6b1768c76d2f70c422bc4adae759cc229bdc9f8b03dbfa2ced8261fa0e", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr336902_vacuum", - "label": "cubic", - "grid": 101, - "input_sha256": "cf59e259a315e922e834c2b5881759bb965d18e5ea3b5ba7988b728a4f15bea5", - "response_sha256": "afa41b6b1768c76d2f70c422bc4adae759cc229bdc9f8b03dbfa2ced8261fa0e", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr50136_beta1", - "label": "bilinear", - "grid": 101, - "input_sha256": "c140ecaa51e066c547ef963f998c7609127c9f10492093ee6a6db1f093bcfdda", - "response_sha256": "b63a0e557a13ecc2b58ccbaa63ec4eb56362ec68f5a4b850277a56aad4bcadcf", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr50136_beta1", - "label": "cubic", - "grid": 101, - "input_sha256": "c140ecaa51e066c547ef963f998c7609127c9f10492093ee6a6db1f093bcfdda", - "response_sha256": "b63a0e557a13ecc2b58ccbaa63ec4eb56362ec68f5a4b850277a56aad4bcadcf", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr50136_beta2_current", - "label": "bilinear", - "grid": 101, - "input_sha256": "9c28216a753e9a2680e505470da861a90268b8b624b4804e422d466c055af11b", - "response_sha256": "b63a0e557a13ecc2b58ccbaa63ec4eb56362ec68f5a4b850277a56aad4bcadcf", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr50136_beta2_current", - "label": "cubic", - "grid": 101, - "input_sha256": "9c28216a753e9a2680e505470da861a90268b8b624b4804e422d466c055af11b", - "response_sha256": "b63a0e557a13ecc2b58ccbaa63ec4eb56362ec68f5a4b850277a56aad4bcadcf", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr50136_vacuum", - "label": "bilinear", - "grid": 101, - "input_sha256": "7051ed914495794762e6454961f499a3682658be38331616f04cac79d2cb8757", - "response_sha256": "b63a0e557a13ecc2b58ccbaa63ec4eb56362ec68f5a4b850277a56aad4bcadcf", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr50136_vacuum", - "label": "cubic", - "grid": 101, - "input_sha256": "7051ed914495794762e6454961f499a3682658be38331616f04cac79d2cb8757", - "response_sha256": "b63a0e557a13ecc2b58ccbaa63ec4eb56362ec68f5a4b850277a56aad4bcadcf", - "converged": false, - "failure_category": "RuntimeError: There was an error in one or more threads during a VMEC++ run:" - }, - { - "case": "quasr65579_beta1", - "label": "bilinear", - "grid": 101, - "input_sha256": "54e3a1df36ad704dd57d73e0f90d237cb857642405da90295709a0aad7a5195d", - "response_sha256": "179c20bbed95eee0c4e9f4851467ed2fad210599f14a466e9e8454a959e0cc18", - "converged": false, - "failure_category": "RuntimeError: There was an error in one or more threads during a VMEC++ run:" - }, - { - "case": "quasr65579_beta1", - "label": "cubic", - "grid": 101, - "input_sha256": "54e3a1df36ad704dd57d73e0f90d237cb857642405da90295709a0aad7a5195d", - "response_sha256": "179c20bbed95eee0c4e9f4851467ed2fad210599f14a466e9e8454a959e0cc18", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr65579_beta2_current", - "label": "bilinear", - "grid": 101, - "input_sha256": "708b1869efa03138bbcc58a94fe1bea83925469f88be5dc467fe9a2ee616dd2c", - "response_sha256": "179c20bbed95eee0c4e9f4851467ed2fad210599f14a466e9e8454a959e0cc18", - "converged": false, - "failure_category": "outside field grid" - }, - { - "case": "quasr65579_beta2_current", - "label": "cubic", - "grid": 101, - "input_sha256": "708b1869efa03138bbcc58a94fe1bea83925469f88be5dc467fe9a2ee616dd2c", - "response_sha256": "179c20bbed95eee0c4e9f4851467ed2fad210599f14a466e9e8454a959e0cc18", - "converged": false, - "failure_category": "outside field grid" - }, - { - "case": "quasr65579_vacuum", - "label": "bilinear", - "grid": 101, - "input_sha256": "668f0b74ad9e2c57bf4066025077052abd7d17b33332c3b8b8917e3ab63e31ee", - "response_sha256": "179c20bbed95eee0c4e9f4851467ed2fad210599f14a466e9e8454a959e0cc18", - "converged": true, - "iterations": 3145, - "residuals": [ - 9.862466288244836e-10, - 8.100474013033702e-10, - 8.539447175568391e-12 - ], - "finite": true - }, - { - "case": "quasr65579_vacuum", - "label": "cubic", - "grid": 101, - "input_sha256": "668f0b74ad9e2c57bf4066025077052abd7d17b33332c3b8b8917e3ab63e31ee", - "response_sha256": "179c20bbed95eee0c4e9f4851467ed2fad210599f14a466e9e8454a959e0cc18", - "converged": true, - "iterations": 3147, - "residuals": [ - 9.811705386389826e-10, - 7.703901997329762e-10, - 7.794745808918779e-12 - ], - "finite": true - }, - { - "case": "quasr954_beta1", - "label": "bilinear", - "grid": 101, - "input_sha256": "2b8454ad095d6378c581c037a81ca4456cfec6ca94b6a4deabc94ef82406db2d", - "response_sha256": "042730bf10ba429fea2639d7a3de161a1c87c21b921c5977ddcad25309ca740c", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr954_beta1", - "label": "cubic", - "grid": 101, - "input_sha256": "2b8454ad095d6378c581c037a81ca4456cfec6ca94b6a4deabc94ef82406db2d", - "response_sha256": "042730bf10ba429fea2639d7a3de161a1c87c21b921c5977ddcad25309ca740c", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr954_beta2_current", - "label": "bilinear", - "grid": 101, - "input_sha256": "f8c6512426050e5d0a2e0de1b371b72100d8ed0f2e54a8da753fd771165b2039", - "response_sha256": "042730bf10ba429fea2639d7a3de161a1c87c21b921c5977ddcad25309ca740c", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr954_beta2_current", - "label": "cubic", - "grid": 101, - "input_sha256": "f8c6512426050e5d0a2e0de1b371b72100d8ed0f2e54a8da753fd771165b2039", - "response_sha256": "042730bf10ba429fea2639d7a3de161a1c87c21b921c5977ddcad25309ca740c", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr954_vacuum", - "label": "bilinear", - "grid": 101, - "input_sha256": "95766fef21c9dcfd183bf256c2f75b75a9c7ece208a5dcf3d368d876c71ae824", - "response_sha256": "042730bf10ba429fea2639d7a3de161a1c87c21b921c5977ddcad25309ca740c", - "converged": true, - "iterations": 1525, - "residuals": [ - 9.367126203842757e-10, - 5.56168677641462e-10, - 9.95092619273595e-12 - ], - "finite": true - }, - { - "case": "quasr954_vacuum", - "label": "cubic", - "grid": 101, - "input_sha256": "95766fef21c9dcfd183bf256c2f75b75a9c7ece208a5dcf3d368d876c71ae824", - "response_sha256": "042730bf10ba429fea2639d7a3de161a1c87c21b921c5977ddcad25309ca740c", - "converged": true, - "iterations": 1589, - "residuals": [ - 9.866699225253968e-10, - 6.269240152716271e-10, - 7.34704706439349e-12 - ], - "finite": true - }, - { - "case": "quasr9914_beta1", - "label": "bilinear", - "grid": 101, - "input_sha256": "7776c0b8c1a7a0e4860b051fa86e7d52a1428370ac9d0c0867bac604ad327e11", - "response_sha256": "b9f29f9de20b792db45066d08e7174c255597355ec41082a5a6edc80fa792bc8", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr9914_beta1", - "label": "cubic", - "grid": 101, - "input_sha256": "7776c0b8c1a7a0e4860b051fa86e7d52a1428370ac9d0c0867bac604ad327e11", - "response_sha256": "b9f29f9de20b792db45066d08e7174c255597355ec41082a5a6edc80fa792bc8", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr9914_beta2_current", - "label": "bilinear", - "grid": 101, - "input_sha256": "30f99a019b7063ac2010ab01e493abe9e31d5232185aee65bb099a015a326fef", - "response_sha256": "b9f29f9de20b792db45066d08e7174c255597355ec41082a5a6edc80fa792bc8", - "converged": false, - "failure_category": "iteration budget" - }, - { - "case": "quasr9914_beta2_current", - "label": "cubic", - "grid": 101, - "input_sha256": "30f99a019b7063ac2010ab01e493abe9e31d5232185aee65bb099a015a326fef", - "response_sha256": "b9f29f9de20b792db45066d08e7174c255597355ec41082a5a6edc80fa792bc8", - "converged": false, - "failure_category": "bad Jacobian" - }, - { - "case": "quasr9914_vacuum", - "label": "bilinear", - "grid": 101, - "input_sha256": "65f8a03a8040a99307303b93082ffa333333f160069607600983678c96fef850", - "response_sha256": "b9f29f9de20b792db45066d08e7174c255597355ec41082a5a6edc80fa792bc8", - "converged": true, - "iterations": 1351, - "residuals": [ - 9.706776525571777e-10, - 9.701177295846494e-11, - 1.7028750202024367e-11 - ], - "finite": true - }, - { - "case": "quasr9914_vacuum", - "label": "cubic", - "grid": 101, - "input_sha256": "65f8a03a8040a99307303b93082ffa333333f160069607600983678c96fef850", - "response_sha256": "b9f29f9de20b792db45066d08e7174c255597355ec41082a5a6edc80fa792bc8", - "converged": true, - "iterations": 1354, - "residuals": [ - 8.521734852874864e-10, - 9.722873174112846e-11, - 1.913262512788977e-11 - ], - "finite": true - } - ], - "quasr_bulk_checks": [ - { - "case": "quasr19940_vacuum", - "label": "bilinear", - "physics": { - "grid": [ - 7, - 48, - 32 - ], - "s_range": [ - 0.05, - 0.95 - ], - "steps": [ - 1e-05, - 1e-05, - 1e-05 - ], - "radial_reconstruction": "parity", - "force_rms": 0.029759602352925574, - "force_max": 0.29845958008470197, - "curl_rms": 0.02896820919315757, - "div_rms": 0.00043228014335894657, - "jac_min": -0.04829118429919434, - "jac_max": -0.017811315064073442, - "field_scale": 1.2250407784678918, - "length_scale": 0.2500248597415068, - "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" - } - }, - { - "case": "quasr19940_vacuum", - "label": "cubic", - "physics": { - "grid": [ - 7, - 48, - 32 - ], - "s_range": [ - 0.05, - 0.95 - ], - "steps": [ - 1e-05, - 1e-05, - 1e-05 - ], - "radial_reconstruction": "parity", - "force_rms": 0.029824655674306356, - "force_max": 0.29979715157691916, - "curl_rms": 0.029033770052219614, - "div_rms": 0.0004349651853133655, - "jac_min": -0.04825774909228111, - "jac_max": -0.017797365995620283, - "field_scale": 1.2250000335347346, - "length_scale": 0.250029315261789, - "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" - } - }, - { - "case": "quasr29346_vacuum", - "label": "bilinear", - "physics": { - "grid": [ - 7, - 48, - 32 - ], - "s_range": [ - 0.05, - 0.95 - ], - "steps": [ - 1e-05, - 1e-05, - 1e-05 - ], - "radial_reconstruction": "parity", - "force_rms": 0.008311244329195793, - "force_max": 0.06460083475987687, - "curl_rms": 0.0093574235560279, - "div_rms": 5.980373632760312e-05, - "jac_min": -0.015286675716027388, - "jac_max": -0.006939747951867686, - "field_scale": 0.608313470841406, - "length_scale": 0.15000225755425814, - "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" - } - }, - { - "case": "quasr29346_vacuum", - "label": "cubic", - "physics": { - "grid": [ - 7, - 48, - 32 - ], - "s_range": [ - 0.05, - 0.95 - ], - "steps": [ - 1e-05, - 1e-05, - 1e-05 - ], - "radial_reconstruction": "parity", - "force_rms": 0.00836146516404688, - "force_max": 0.06524381216739511, - "curl_rms": 0.009384701683078115, - "div_rms": 6.007556390896915e-05, - "jac_min": -0.015278311814324885, - "jac_max": -0.006935761621580348, - "field_scale": 0.6084359683522869, - "length_scale": 0.14998880796301411, - "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" - } - }, - { - "case": "quasr65579_vacuum", - "label": "bilinear", - "physics": { - "grid": [ - 7, - 48, - 32 - ], - "s_range": [ - 0.05, - 0.95 - ], - "steps": [ - 1e-05, - 1e-05, - 1e-05 - ], - "radial_reconstruction": "parity", - "force_rms": 0.010106221134881016, - "force_max": 0.26208966341332474, - "curl_rms": 0.010390050927728704, - "div_rms": 0.000666957986522108, - "jac_min": -0.04271069280944206, - "jac_max": -0.006774919062333465, - "field_scale": 0.9984879146883271, - "length_scale": 0.20010222605209574, - "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" - } - }, - { - "case": "quasr65579_vacuum", - "label": "cubic", - "physics": { - "grid": [ - 7, - 48, - 32 - ], - "s_range": [ - 0.05, - 0.95 - ], - "steps": [ - 1e-05, - 1e-05, - 1e-05 - ], - "radial_reconstruction": "parity", - "force_rms": 0.010034124151427707, - "force_max": 0.2591231305104534, - "curl_rms": 0.010284611375022257, - "div_rms": 0.0006605165225173901, - "jac_min": -0.04262588745167954, - "jac_max": -0.006788095518037546, - "field_scale": 0.9990018311613307, - "length_scale": 0.20005431115345795, - "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" - } - }, - { - "case": "quasr954_vacuum", - "label": "bilinear", - "physics": { - "grid": [ - 7, - 48, - 32 - ], - "s_range": [ - 0.05, - 0.95 - ], - "steps": [ - 1e-05, - 1e-05, - 1e-05 - ], - "radial_reconstruction": "parity", - "force_rms": 0.00204270961164645, - "force_max": 0.02120774425934346, - "curl_rms": 0.0025015525833665575, - "div_rms": 1.9506450305750353e-05, - "jac_min": -0.014715457982661636, - "jac_max": -0.005665741842990412, - "field_scale": 1.0087771955030367, - "length_scale": 0.15000390702074454, - "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" - } - }, - { - "case": "quasr954_vacuum", - "label": "cubic", - "physics": { - "grid": [ - 7, - 48, - 32 - ], - "s_range": [ - 0.05, - 0.95 - ], - "steps": [ - 1e-05, - 1e-05, - 1e-05 - ], - "radial_reconstruction": "parity", - "force_rms": 0.0020277157684916156, - "force_max": 0.020722540151324825, - "curl_rms": 0.002468749117007582, - "div_rms": 1.8978694308663365e-05, - "jac_min": -0.014649936670517005, - "jac_max": -0.005683633839935532, - "field_scale": 1.0086617846313308, - "length_scale": 0.15000871320938206, - "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" - } - }, - { - "case": "quasr9914_vacuum", - "label": "bilinear", - "physics": { - "grid": [ - 7, - 48, - 32 - ], - "s_range": [ - 0.05, - 0.95 - ], - "steps": [ - 1e-05, - 1e-05, - 1e-05 - ], - "radial_reconstruction": "parity", - "force_rms": 0.005553924290904348, - "force_max": 0.055074745634206494, - "curl_rms": 0.00697209126777972, - "div_rms": 4.116372321927028e-05, - "jac_min": -0.01536401242517599, - "jac_max": -0.0072732853643839605, - "field_scale": 0.6454648357066055, - "length_scale": 0.150042483496056, - "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" - } - }, - { - "case": "quasr9914_vacuum", - "label": "cubic", - "physics": { - "grid": [ - 7, - 48, - 32 - ], - "s_range": [ - 0.05, - 0.95 - ], - "steps": [ - 1e-05, - 1e-05, - 1e-05 - ], - "radial_reconstruction": "parity", - "force_rms": 0.0055462540055858395, - "force_max": 0.054480537981249924, - "curl_rms": 0.0069801502885778665, - "div_rms": 4.126955267434098e-05, - "jac_min": -0.015364507274432775, - "jac_max": -0.007286786009197156, - "field_scale": 0.6455405916594343, - "length_scale": 0.15003545788788522, - "interpretation": "sampled bulk reconstruction diagnostics; no axis or boundary certificate" - } - } - ], - "limitations": [ - "Field-table accuracy is distinct from plasma truncation and smooth-coil representation error.", - "401-square results are refinement references, not exact plasma-field solutions.", - "Bulk checks sample the interior, excluding axis and boundary.", - "QUASR matrix timings overlapped other checks and are not performance evidence.", - "Five of 36 QUASR problems converged for each method, with identical successful case IDs. All finite-pressure/current variants failed at their original budgets." - ] -} diff --git a/docs/index.md b/docs/index.md index 961ec0390..4acc8d543 100644 --- a/docs/index.md +++ b/docs/index.md @@ -10,7 +10,6 @@ Reference Examples Fourier Basis Details -Vacuum Field Interpolation Benchmarks ``` diff --git a/docs/vacuum_field_interpolation.md b/docs/vacuum_field_interpolation.md deleted file mode 100644 index cd0cdb781..000000000 --- a/docs/vacuum_field_interpolation.md +++ /dev/null @@ -1,92 +0,0 @@ -# Vacuum-field interpolation - -VMEC++ uses tensor cubic interpolation of the external magnetic field in R and -Z. Each evaluation uses four nodes in each direction, with a one-sided stencil -near the grid edges. Tables with fewer than four R or Z nodes use bilinear -interpolation. The toroidal plane selection is unchanged; interpolation does -not extend the field outside its supplied domain. - -`VmecInput.mgrid_interpolation` selects the numerical method. Cubic is the solver -default. Use `vmecpp.MGridInterpolation.LINEAR` to reproduce calculations made -with historical bilinear interpolation. The selection is stored with the full -input/output data. Historical full outputs lacking this field are read as -linear; a newly loaded input file without the field uses the current default. - -## Accuracy and cost - -A frozen study compared the two methods at the same plasma resolution, profiles, -coil currents and final force tolerances. The symmetric cases used 1e-14; -asymmetric CTH used its original 1e-8 tolerance and the W7-X timing comparison -used its original 1e-12 tolerance. The results below were confirmed against -upstream `98aaaea`, following an initial study against `4e0eefb`. - -For cases with source coils, all table sizes were derived from one finer table -computed from identical polygonal/circular filaments. An independent -straight-segment Biot-Savart calculation and refined circular-filament quadrature -agreed with table nodes to 3.1e-13 or better. Equilibrium comparisons used a -401-by-401 cubic-table reference and matched physical positions before comparing -B, removing differences due solely to flux-coordinate parametrisation. - -| Case | Relative B difference, linear 101 | Relative B difference, cubic 51 | Cubic/linear runtime at the original table size | -|---|---:|---:|---:| -| CTH, finite pressure/current | 2.96e-5 | 4.35e-7 | 1.003 | -| Free-boundary Solovev | 1.41e-4 | 1.42e-6 | 1.061 | -| QUASR 954 | 7.62e-5 | 4.85e-6 | 1.037 | -| QUASR 65579 | 6.88e-5 | 4.21e-6 | 1.010 | -| Asymmetric CTH | See below | See below | 1.014 | -| W7-X, finite pressure, held out | See below | See below | 1.004 | - -The timing ratios are medians of six adjacent, process-isolated pairs on an -Apple M4 Mac (10 CPU cores, 16 GB RAM) with four OpenMP threads. All 120 current-upstream -confirmation solves converged; the table includes the original-size comparisons. -The largest median slowdown was 6.1%. Bootstrap intervals from these small samples -are estimates, not hard bounds on future runtime. An earlier eight-pair study also -found similar solver cost, with wider uncertainty in some cases. The improvement -is in field-table accuracy; these measurements do not establish a solver speedup. - -A separate regression matrix used all 12 bundled QUASR configurations with their -original resolution and stage budgets, in vacuum and with two prescribed -pressure/current profiles. Both methods converged on the same five of 36 problems; -neither converged on any of the finite-pressure variants at these budgets. All -failures were retained. The converged controls received independent bulk-field -checks; finite-pressure accuracy is instead supported by CTH and W7-X. - -The supplied-table coarsening study, run against `4e0eefb`, used asymmetric CTH -and W7-X tables without independent finer coil tables. -At original table nodes withheld from a coarser 61-by-61 W7-X table, cubic -interpolation reduced field error by about 80 times compared with bilinear at -that same resolution. Complete equilibria also approached the finest supplied -cubic-table result more closely. That result is a refinement reference, not an -exact coil-field certificate. - -The gain concerns field-table error. Plasma Fourier/radial truncation and the -polygonal approximation of a smooth coil remain separate error sources. Sampled -bulk force-balance error was mostly unchanged when plasma resolution dominated. -Both methods stalled when asymmetric CTH was pushed from its supplied 1e-8 -force tolerance to 1e-14; that stricter failure is not counted as convergence. - -The [recorded observations](../benchmarks/mgrid_interpolation_results.json) include -paired timings, binary/input hashes, physical checks and all QUASR outcomes. - -## Reproduce a comparison - -The benchmark retains source hashes, actual inputs, method selections, raw -outputs, convergence failures and paired solve timings. Run from the repository -root, with VMEC++ installed: - -```bash -OMP_NUM_THREADS=4 python benchmarks/mgrid_interpolation.py \ - --input src/vmecpp/cpp/vmecpp/test_data/cth_like_free_bdy.json \ - --coils src/vmecpp/cpp/vmecpp/test_data/coils.cth_like \ - --parameters src/vmecpp/cpp/vmecpp/test_data/makegrid_parameters_cth_like.json \ - --finest 401 --grids 51 101 --repeats 8 --output mgrid-cth-study -``` - -Replace `cth_like` with `solovev` for the axisymmetric case. A supplied MGRID -file can be used with `--mgrid` instead of `--coils`/`--parameters`; choose R-grid -counts whose spacings divide the original grid, and an appropriate `--ftol`. -Z is reduced by the same stride, including for rectangular grids. In this mode -the reference uses the original supplied table. Table preparation and loading -are reported separately from the measured solver call. The script reports -Fourier-coefficient differences; independent physical-point reconstruction was -an additional validation in the study above. diff --git a/src/vmecpp/__init__.py b/src/vmecpp/__init__.py index 69e9ac59e..f76b4e338 100644 --- a/src/vmecpp/__init__.py +++ b/src/vmecpp/__init__.py @@ -153,16 +153,6 @@ class FreeBoundaryMethod(str, enum.Enum): """Boundary Integral Equation Solver for Toroidal systems.""" -class MGridInterpolation(str, enum.Enum): - """Interpolation of the external magnetic field in R and Z.""" - - LINEAR = "linear" - """Bilinear interpolation used by historical Fortran VMEC.""" - - CUBIC = "cubic" - """Tensor cubic interpolation, falling back to linear below four grid points.""" - - class IterationStyle(str, enum.Enum): """Time-step / restart control scheme for the equilibrium iteration.""" @@ -198,16 +188,6 @@ def _validate_free_boundary_method( return FreeBoundaryMethod(str(value)) -def _validate_mgrid_interpolation( - value: _vmecpp.MGridInterpolation | str | MGridInterpolation, -) -> MGridInterpolation: - if isinstance(value, MGridInterpolation): - return value - if isinstance(value, _vmecpp.MGridInterpolation): - return MGridInterpolation(value.name.lower()) # pyright: ignore[reportAttributeAccessIssue] - return MGridInterpolation(str(value)) - - def _validate_iteration_style( value: _vmecpp.IterationStyle | str | IterationStyle, ) -> IterationStyle: @@ -437,18 +417,6 @@ class VmecInput(BaseModelWithNumpy): ] = FreeBoundaryMethod.NESTOR """Method for handling free-boundary conditions.""" - mgrid_interpolation: typing.Annotated[ - MGridInterpolation, - pydantic.BeforeValidator(_validate_mgrid_interpolation), - ] = MGridInterpolation.CUBIC - """Vacuum field interpolation in R and Z. - - Cubic uses four points in each - direction; grids with fewer than four points use bilinear interpolation. - Choose ``"linear"`` to reproduce historical Fortran VMEC calculations. - Toroidal planes and the supplied coil field samples are unchanged. - """ - iteration_style: typing.Annotated[ IterationStyle, pydantic.BeforeValidator(_validate_iteration_style), @@ -761,7 +729,6 @@ def _to_cpp_vmecindata(self) -> _vmecpp.VmecINDATA: for attr in own_model_fields(VmecInput): if attr in readonly_attrs or attr in ( "free_boundary_method", - "mgrid_interpolation", "iteration_style", ): continue # these must be set separately @@ -771,9 +738,6 @@ def _to_cpp_vmecindata(self) -> _vmecpp.VmecINDATA: cpp_indata.free_boundary_method = getattr( _vmecpp.FreeBoundaryMethod, self.free_boundary_method.upper() ) - cpp_indata.mgrid_interpolation = getattr( - _vmecpp.MGridInterpolation, self.mgrid_interpolation.upper() - ) cpp_indata.iteration_style = getattr( _vmecpp.IterationStyle, self.iteration_style.upper() ) @@ -2391,18 +2355,6 @@ def _from_cpp_jxbout(cpp_jxbout: _vmecpp.JxBOutFileContents) -> JxBOut: class VmecOutput(BaseModelWithNumpy): """Container for the full output of a VMEC run.""" - @pydantic.model_validator(mode="before") - @classmethod - def _restore_historical_interpolation(cls, value: typing.Any) -> typing.Any: - if isinstance(value, dict) and isinstance(value.get("input"), dict): - inputs = value["input"] - if "mgrid_interpolation" not in inputs: - return { - **value, - "input": {**inputs, "mgrid_interpolation": "linear"}, - } - return value - input: VmecInput """The input to the VMEC run that produced this output.""" @@ -2770,7 +2722,6 @@ def set_profile( "MakegridParameters", "MagneticFieldResponseTable", "FreeBoundaryMethod", - "MGridInterpolation", "IterationStyle", "set_profile", "iterate", diff --git a/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata.cc b/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata.cc index 88de1091b..fbcb0d857 100644 --- a/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata.cc +++ b/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata.cc @@ -138,25 +138,6 @@ std::string ToString(FreeBoundaryMethod free_boundary_method) { } } // ToString -absl::StatusOr MGridInterpolationFromString( - const std::string& interpolation) { - if (interpolation == "linear") return MGridInterpolation::kLinear; - if (interpolation == "cubic") return MGridInterpolation::kCubic; - return absl::InvalidArgumentError( - absl::StrCat("mgrid_interpolation must be 'linear' or 'cubic', got '", - interpolation, "'")); -} - -std::string ToString(MGridInterpolation interpolation) { - switch (interpolation) { - case MGridInterpolation::kLinear: - return "linear"; - case MGridInterpolation::kCubic: - return "cubic"; - } - return "unknown"; -} - int IterationStyleCode(IterationStyle iteration_style) { // from https://stackoverflow.com/a/11421471 return static_cast>(iteration_style); @@ -238,7 +219,6 @@ VmecINDATA::VmecINDATA() { // extcur is left empty nvacskip = 1; free_boundary_method = FreeBoundaryMethod::NESTOR; - mgrid_interpolation = MGridInterpolation::kCubic; // tweaking parameters nstep = 10; @@ -366,8 +346,6 @@ absl::Status VmecINDATA::WriteTo(H5::H5File& file) const { // special treatment for enums WriteH5Dataset(ToString(free_boundary_method), "/indata/free_boundary_method", file); - WriteH5Dataset(ToString(mgrid_interpolation), "/indata/mgrid_interpolation", - file); WriteH5Dataset(ToString(iteration_style), "/indata/iteration_style", file); WriteH5Dataset(nstep, "/indata/nstep", file); @@ -455,17 +433,6 @@ absl::Status VmecINDATA::LoadInto(VmecINDATA& m_indata, H5::H5File& from_file) { } m_indata.free_boundary_method = maybe_fbdy_method.value(); - if (from_file.nameExists("/indata/mgrid_interpolation")) { - std::string interpolation; - ReadH5Dataset(interpolation, "/indata/mgrid_interpolation", from_file); - const auto parsed = MGridInterpolationFromString(interpolation); - if (!parsed.ok()) return parsed.status(); - m_indata.mgrid_interpolation = *parsed; - } else { - // Historical output files were computed with bilinear interpolation. - m_indata.mgrid_interpolation = MGridInterpolation::kLinear; - } - // Legacy way of checking for dataset existence // TODO(jons) replace with from_file.nameExists when we get a newer HDF5 // version in pip wheels @@ -907,14 +874,6 @@ absl::StatusOr VmecINDATA::FromJson( vmec_indata.nvacskip = maybe_nvacskip->value(); } - const auto maybe_interpolation = JsonReadString(j, "mgrid_interpolation"); - if (!maybe_interpolation.ok()) return maybe_interpolation.status(); - if (maybe_interpolation->has_value()) { - const auto parsed = MGridInterpolationFromString(**maybe_interpolation); - if (!parsed.ok()) return parsed.status(); - vmec_indata.mgrid_interpolation = *parsed; - } - auto maybe_free_boundary_method = JsonReadString(j, "free_boundary_method"); if (!maybe_free_boundary_method.ok()) { return maybe_free_boundary_method.status(); @@ -1287,7 +1246,6 @@ absl::StatusOr VmecINDATA::ToJson() const { output["extcur"] = extcur; output["nvacskip"] = nvacskip; output["free_boundary_method"] = ToString(free_boundary_method); - output["mgrid_interpolation"] = ToString(mgrid_interpolation); // Tweaking Parameters output["nstep"] = nstep; @@ -1533,12 +1491,6 @@ absl::Status IsConsistent(const VmecINDATA& vmec_indata, /* --------------------------------- */ - if (vmec_indata.mgrid_interpolation != MGridInterpolation::kLinear && - vmec_indata.mgrid_interpolation != MGridInterpolation::kCubic) { - return absl::InvalidArgumentError( - "input variable 'mgrid_interpolation' must be 'linear' or 'cubic'"); - } - // lfreeb // nothing to check here: lfreeb can be true or false and both are valid... if (vmec_indata.lfreeb) { diff --git a/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata.h b/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata.h index c95ac6de2..0291ad9ca 100644 --- a/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata.h +++ b/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata.h @@ -44,12 +44,6 @@ absl::StatusOr FreeBoundaryMethodFromString( const std::string& free_boundary_method_string); std::string ToString(FreeBoundaryMethod free_boundary_method); -enum class MGridInterpolation : std::uint8_t { kLinear, kCubic }; - -absl::StatusOr MGridInterpolationFromString( - const std::string& interpolation); -std::string ToString(MGridInterpolation interpolation); - // Use this to switch the overall program flow/iteration style // between VMEC 8.52 (Golden Reference for V&V, and what educational_VMEC is // based on) and PARVMEC (~same as hiddenSymmetries/VMEC2000) - version 9.0. @@ -201,9 +195,6 @@ class VmecINDATA { // for the free-boundary force contribution FreeBoundaryMethod free_boundary_method; - // Tensor-product interpolation of the vacuum field in R and Z. - MGridInterpolation mgrid_interpolation; - // --------------------------------- // tweaking parameters diff --git a/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata_test.cc b/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata_test.cc index 76afc244c..167dac757 100644 --- a/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata_test.cc +++ b/src/vmecpp/cpp/vmecpp/common/vmec_indata/vmec_indata_test.cc @@ -422,7 +422,6 @@ void CheckHdf5RoundTrip(const std::string& filename) { EXPECT_EQ(indata.extcur, indata_from_file.extcur); EXPECT_EQ(indata.nvacskip, indata_from_file.nvacskip); EXPECT_EQ(indata.free_boundary_method, indata_from_file.free_boundary_method); - EXPECT_EQ(indata.mgrid_interpolation, indata_from_file.mgrid_interpolation); EXPECT_EQ(indata.nstep, indata_from_file.nstep); EXPECT_EQ(indata.aphi, indata_from_file.aphi); EXPECT_EQ(indata.delt, indata_from_file.delt); @@ -436,30 +435,8 @@ void CheckHdf5RoundTrip(const std::string& filename) { EXPECT_EQ(indata.zbs, indata_from_file.zbs); EXPECT_EQ(indata.rbs, indata_from_file.rbs); EXPECT_EQ(indata.zbc, indata_from_file.zbc); - - ASSERT_EQ(H5Ldelete(file.getId(), "/indata/mgrid_interpolation", H5P_DEFAULT), - 0); - VmecINDATA historical; - ASSERT_TRUE(VmecINDATA::LoadInto(historical, file).ok()); - EXPECT_EQ(historical.mgrid_interpolation, MGridInterpolation::kLinear); } // CheckHdf5RoundTrip -TEST(TestVmecINDATA, MGridInterpolationJson) { - for (const auto scheme : - {MGridInterpolation::kLinear, MGridInterpolation::kCubic}) { - const auto parsed = VmecINDATA::FromJson( - json{{"mgrid_interpolation", ToString(scheme)}}.dump()); - ASSERT_TRUE(parsed.ok()) << parsed.status(); - EXPECT_EQ(parsed->mgrid_interpolation, scheme); - const auto written = parsed->ToJson(); - ASSERT_TRUE(written.ok()) << written.status(); - EXPECT_EQ(json::parse(*written)["mgrid_interpolation"], ToString(scheme)); - } - const auto invalid = - VmecINDATA::FromJson(R"({"mgrid_interpolation":"nearest"})"); - EXPECT_FALSE(invalid.ok()); -} - TEST(TestVmecINDATA, HDF5IO) { CheckHdf5RoundTrip("vmecpp/test_data/cth_like_free_bdy.json"); } // HDF5IO diff --git a/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/BUILD.bazel b/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/BUILD.bazel index 757f088d0..726652cae 100644 --- a/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/BUILD.bazel +++ b/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/BUILD.bazel @@ -13,7 +13,6 @@ cc_library( "//util/netcdf_io:netcdf_io", "//vmecpp/common/util:util", "//vmecpp/common/sizes:sizes", - "//vmecpp/common/vmec_indata", "//vmecpp/common/fourier_basis_fast_toroidal", "//vmecpp/common/makegrid_lib", "//vmecpp/free_boundary/tangential_partitioning:tangential_partitioning", diff --git a/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/mgrid_provider.cc b/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/mgrid_provider.cc index ab423ac3f..b1a96fec7 100644 --- a/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/mgrid_provider.cc +++ b/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/mgrid_provider.cc @@ -70,8 +70,7 @@ void MGridProvider::ResetAccumulatedField() { bZ.setZero(num_grid_points); } -MGridProvider::MGridProvider(MGridInterpolation interpolation) - : interpolation_(interpolation) { +MGridProvider::MGridProvider() { nfp = -1; numR = -1; @@ -388,68 +387,47 @@ absl::Status MGridProvider::interpolate(int ztMin, int ztMax, int nZeta, double r = std::max(minR, std::min(rLCFS[kl], maxR)); double z = std::max(minZ, std::min(zLCFS[kl], maxZ)); - if (interpolation_ == MGridInterpolation::kCubic && numR >= 4 && - numZ >= 4) { - const double r_index = (r - minR) / deltaR; - const double z_index = (z - minZ) / deltaZ; - const int r_start = - std::clamp(static_cast(floor(r_index)) - 1, 0, numR - 4); - const int z_start = - std::clamp(static_cast(floor(z_index)) - 1, 0, numZ - 4); - const auto weights = [](double u) -> std::array { + // Use a centred four-node stencil, shifted inward at the grid edges. + // Smaller tables use the polynomial supported by their available nodes. + const int r_nodes = std::min(4, numR); + const int z_nodes = std::min(4, numZ); + const double r_index = (r - minR) / deltaR; + const double z_index = (z - minZ) / deltaZ; + const int r_start = + std::clamp(static_cast(floor(r_index)) - 1, 0, numR - r_nodes); + const int z_start = + std::clamp(static_cast(floor(z_index)) - 1, 0, numZ - z_nodes); + const auto weights = [](double u, int nodes) -> std::array { + if (nodes == 4) { return {-(u - 1) * (u - 2) * (u - 3) / 6, u * (u - 2) * (u - 3) / 2, -u * (u - 1) * (u - 3) / 2, u * (u - 1) * (u - 2) / 6}; - }; - const auto r_weights = weights(r_index - r_start); - const auto z_weights = weights(z_index - z_start); - double br = 0.0; - double bp = 0.0; - double bz = 0.0; - for (int j = 0; j < 4; ++j) { - for (int i = 0; i < 4; ++i) { - const int index = (k * numZ + z_start + j) * numR + r_start + i; - const double weight = r_weights[i] * z_weights[j]; - br += weight * bR[index]; - bp += weight * bP[index]; - bz += weight * bZ[index]; + } + std::array result{}; + for (int i = 0; i < nodes; ++i) { + result[i] = 1.0; + for (int j = 0; j < nodes; ++j) { + if (i != j) result[i] *= (u - j) / (i - j); } } - m_interpBr[kl - ztMin] = br; - m_interpBp[kl - ztMin] = bp; - m_interpBz[kl - ztMin] = bz; - continue; + return result; + }; + const auto r_weights = weights(r_index - r_start, r_nodes); + const auto z_weights = weights(z_index - z_start, z_nodes); + double br = 0.0; + double bp = 0.0; + double bz = 0.0; + for (int j = 0; j < z_nodes; ++j) { + for (int i = 0; i < r_nodes; ++i) { + const int index = (k * numZ + z_start + j) * numR + r_start + i; + const double weight = r_weights[i] * z_weights[j]; + br += weight * bR[index]; + bp += weight * bP[index]; + bz += weight * bZ[index]; + } } - - // DETERMINE INTEGER INDICES (IR,JZ) FOR LOWER LEFT R, Z CORNER GRID POINT - int ir = static_cast(floor((r - minR) / deltaR)); - int jz = static_cast(floor((z - minZ) / deltaZ)); - int ir1 = std::min(numR - 1, ir + 1); - int jz1 = std::min(numZ - 1, jz + 1); - - // COMPUTE RI, ZJ AND PR, QZ AT GRID POINT (IR , JZ) - double ri = minR + ir * deltaR; - double zj = minZ + jz * deltaZ; - double pr = (r - ri) / deltaR; - double qz = (z - zj) / deltaZ; - - // COMPUTE WEIGHTS WIJ FOR 4 CORNER GRID POINTS - double w22 = pr * qz; // p * q - double w21 = pr - w22; // p *(1-q) = p - p*q - double w12 = qz - w22; // (1-p)* q = q - p*q - double w11 = 1.0 + w22 - (pr + qz); // (1-p)*(1-q) = 1 + p*q - (p + q) - - // COMPUTE B FIELD AT R, PHI, Z BY INTERPOLATION - int kj_i_ = (k * numZ + jz) * numR + ir; - int kj1i_ = (k * numZ + jz1) * numR + ir; - int kj_i1 = (k * numZ + jz) * numR + ir1; - int kj1i1 = (k * numZ + jz1) * numR + ir1; - - m_interpBr[kl - ztMin] = - w11 * bR[kj_i_] + w12 * bR[kj1i_] + w21 * bR[kj_i1] + w22 * bR[kj1i1]; - m_interpBp[kl - ztMin] = - w11 * bP[kj_i_] + w12 * bP[kj1i_] + w21 * bP[kj_i1] + w22 * bP[kj1i1]; - m_interpBz[kl - ztMin] = - w11 * bZ[kj_i_] + w12 * bZ[kj1i_] + w21 * bZ[kj_i1] + w22 * bZ[kj1i1]; + m_interpBr[kl - ztMin] = br; + m_interpBp[kl - ztMin] = bp; + m_interpBz[kl - ztMin] = bz; } // kl absl::Status status = absl::OkStatus(); diff --git a/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/mgrid_provider.h b/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/mgrid_provider.h index f42fad962..e74cc02df 100644 --- a/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/mgrid_provider.h +++ b/src/vmecpp/cpp/vmecpp/free_boundary/mgrid_provider/mgrid_provider.h @@ -13,15 +13,12 @@ #include "absl/status/status.h" #include "vmecpp/common/makegrid_lib/makegrid_lib.h" #include "vmecpp/common/sizes/sizes.h" -#include "vmecpp/common/vmec_indata/vmec_indata.h" namespace vmecpp { class MGridProvider { public: - // Vmec supplies its input scheme; standalone providers retain their default. - explicit MGridProvider( - MGridInterpolation interpolation = MGridInterpolation::kLinear); + MGridProvider(); absl::Status LoadFile(const std::filesystem::path& filename, const Eigen::VectorXd& coil_currents); @@ -76,8 +73,6 @@ class MGridProvider { bool IsLoaded() const { return has_mgrid_loaded_; } private: - MGridInterpolation interpolation_; - // Size the accumulation arrays to the current grid and clear them. void ResetAccumulatedField(); diff --git a/src/vmecpp/cpp/vmecpp/test_data/wout_cth_like_free_bdy.nc b/src/vmecpp/cpp/vmecpp/test_data/wout_cth_like_free_bdy.nc index 353fd0bdfc62c8d282c332c56d90614f1dadaa2e..742153347130a74b0aa6279f7b8dfbf382919d73 100644 GIT binary patch literal 407412 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 z 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 z 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 z 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 z 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

$$Ui>9&Ijg$k9qUzfS37Zs^KF)$hN}hxQLB6 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%0D5<_VKhEF0 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 E0Z}nuWB>pF diff --git a/src/vmecpp/cpp/vmecpp/test_data/wout_solovev_free_bdy_T.nc b/src/vmecpp/cpp/vmecpp/test_data/wout_solovev_free_bdy_T.nc index f73e888c5e451a6d7c100612360f08a5a57c51ef..d155dbb8eb33fdf7f438761c2a6adc50995f582e 100644 GIT binary patch delta 49988 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¬U)D7kw|R zvMjzxC#?rhIqk`{diXS>*Lj)5IgkqchPvKXp-6zydUy<8a&Z-sV{=o{VmX~dBIpPUM zJ+ksKcW|GK+uL)3OtGs{Ge5*$1>t&oR6jZ@A^q38RLPp1#P(_`E}oxM!Nq7J+~OwB z!LQHHK7G0ZF~*l#rV0G3IL%Z0Gi^*qKn_=dr4QR@d=LH3jn|LVz>gjL()4}3@YlIR z5x9B{ibwN1%6G}_(}nlA=j~%{@MQqz!sPIFrQZcVtiL}qF1Qv~ zxuVP=F_DI;h4Sy%p_70MUy87CoG^hifB=4d(!m(RZf0B3@#6I1lG=l3X+hof-QS~+ z```+f^=QusM}avOb{DCFIJlrVqw6s&PkwD->iIUt7<8G&rCPg}E*9lYdZ6s^N=1Li4m^eXLSkIY9}|Hx)Y>j z$c7P*Wi{Rn+>c*mDeS1JF2^0+S0iJH=;PLYX)!;rDO@yAb6{=Q4nN=+I=x@>8m7{- znMpTv1g;shj!AWv<1Dcv0@XcxG1?gYf|k~DoKr_2Gi{#-7}6DeQqy9NtEKOE3sId1 z8_sDj=KHV0KhuwzsT{P)HTFx#eZ0-_01HdX9aU@0{wS^FY~eNBscBf~2vZJbaXfHi z=$#M7|2{eE7lSZTogMEW~L$KOdv(>LYilU9@MWfq3G{4V^pv zdf3gD0j84?t@tGgO5tk4Q|y$8oolNt4W@Q{@XgYJC%FDc`O)**YcN-Urda82yM?v=aGFoyEVdVUUZ VoT11+|F&lwd4!!y#pjaD{{c#Jan1k$ diff --git a/src/vmecpp/cpp/vmecpp/vmec/output_quantities/output_quantities_test.cc b/src/vmecpp/cpp/vmecpp/vmec/output_quantities/output_quantities_test.cc index 201b4622d..56514329f 100644 --- a/src/vmecpp/cpp/vmecpp/vmec/output_quantities/output_quantities_test.cc +++ b/src/vmecpp/cpp/vmecpp/vmec/output_quantities/output_quantities_test.cc @@ -65,9 +65,9 @@ TEST_P(WOutFileContentsTest, CheckWOutFileContents) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; auto maybe_vmec = Vmec::FromIndata(*vmec_indata); ASSERT_TRUE(maybe_vmec.ok()); @@ -780,9 +780,9 @@ TEST(SolovevFreeBoundary, MatchesEducationalVmecGolden) { const absl::StatusOr indata_json = ReadFile("vmecpp/test_data/solovev_free_bdy.json"); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; ASSERT_TRUE(vmec_indata->lfreeb); ASSERT_EQ(vmec_indata->ntor, 0); @@ -934,9 +934,9 @@ TEST(SolovevFreeBoundaryLforbal, MatchesEducationalVmecGolden) { const absl::StatusOr indata_json = ReadFile("vmecpp/test_data/solovev_free_bdy_lforbal.json"); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; ASSERT_TRUE(vmec_indata->lfreeb); ASSERT_TRUE(vmec_indata->lforbal); ASSERT_EQ(vmec_indata->ntor, 0); diff --git a/src/vmecpp/cpp/vmecpp/vmec/pybind11/pybind_vmec.cc b/src/vmecpp/cpp/vmecpp/vmec/pybind11/pybind_vmec.cc index a83a50ae3..e34bb235e 100644 --- a/src/vmecpp/cpp/vmecpp/vmec/pybind11/pybind_vmec.cc +++ b/src/vmecpp/cpp/vmecpp/vmec/pybind11/pybind_vmec.cc @@ -613,7 +613,6 @@ PYBIND11_MODULE(_vmecpp, m) { DefEigenProperty(pyindata, "extcur", &VmecINDATA::extcur); pyindata.def_readwrite("nvacskip", &VmecINDATA::nvacskip) .def_readwrite("free_boundary_method", &VmecINDATA::free_boundary_method) - .def_readwrite("mgrid_interpolation", &VmecINDATA::mgrid_interpolation) // tweaking parameters .def_readwrite("nstep", &VmecINDATA::nstep); @@ -664,12 +663,6 @@ PYBIND11_MODULE(_vmecpp, m) { .export_values() .finalize(); - py::native_enum(m, "MGridInterpolation", - "enum.Enum") - .value("LINEAR", vmecpp::MGridInterpolation::kLinear) - .value("CUBIC", vmecpp::MGridInterpolation::kCubic) - .finalize(); - py::native_enum(m, "OutputMode", "enum.IntEnum") .value("SILENT", vmecpp::OutputMode::kSilent) .value("LEGACY", vmecpp::OutputMode::kLegacy) diff --git a/src/vmecpp/cpp/vmecpp/vmec/vmec/vmec.cc b/src/vmecpp/cpp/vmecpp/vmec/vmec/vmec.cc index 5797161b8..02c0b4b10 100644 --- a/src/vmecpp/cpp/vmecpp/vmec/vmec/vmec.cc +++ b/src/vmecpp/cpp/vmecpp/vmec/vmec/vmec.cc @@ -185,7 +185,6 @@ Vmec::Vmec(const VmecINDATA& indata, std::optional max_threads, h_(&s_), fc_(indata_.lfreeb, indata_.delt, static_cast(indata_.ns_array.size()), max_threads), - mgrid_(indata_.mgrid_interpolation), verbose_(verbose != OutputMode::kSilent), logger_(std::cout, verbose), interrupt_callback_(std::move(interrupt_callback)), diff --git a/src/vmecpp/cpp/vmecpp/vmec/vmec/vmec_test.cc b/src/vmecpp/cpp/vmecpp/vmec/vmec/vmec_test.cc index 50aa461dd..122dd743d 100644 --- a/src/vmecpp/cpp/vmecpp/vmec/vmec/vmec_test.cc +++ b/src/vmecpp/cpp/vmecpp/vmec/vmec/vmec_test.cc @@ -785,19 +785,16 @@ TEST(TestVmec, MultiGridFreeBoundary) { const absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(indata.ok()); - indata->mgrid_interpolation = vmecpp::MGridInterpolation::kLinear; ASSERT_EQ(indata->ns_array.size(), 2u); const auto output = vmecpp::run(*indata, std::nullopt, 1); ASSERT_TRUE(output.ok()); - // Regression guard for issue #330/#640 and other changes to the multigrid - // convergence path. 344 with the historical unbalanced stage entry; 321 - // since the vacuum state is seeded across multigrid transitions (the - // second stage enters force-balanced instead of kicking the boundary). - EXPECT_EQ(output->wout.niter, 321); + // Regression guard for the seeded vacuum state across multigrid transitions + // with cubic vacuum field interpolation. + EXPECT_EQ(output->wout.niter, 322); } // MultiGridFreeBoundary // The free-boundary threed1 section covers the poloidal range the run is solved diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/external_magnetic_field/external_magnetic_field_test.cc b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/external_magnetic_field/external_magnetic_field_test.cc index 091cf3c25..a471c168f 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/external_magnetic_field/external_magnetic_field_test.cc +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/external_magnetic_field/external_magnetic_field_test.cc @@ -49,9 +49,9 @@ TEST_P(ExternalMagneticFieldTest, CheckExternalMagneticField) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/laplace_solver/laplace_solver_test.cc b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/laplace_solver/laplace_solver_test.cc index 3e81059ef..845c9c392 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/laplace_solver/laplace_solver_test.cc +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/laplace_solver/laplace_solver_test.cc @@ -170,9 +170,9 @@ TEST_P(FourISymmTest, CheckFourISymm) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -342,9 +342,9 @@ TEST_P(FourIKvDftTest, CheckFourIKvDft) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -490,9 +490,9 @@ TEST_P(FourIKuDftTest, CheckFourIKuDft) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -602,9 +602,9 @@ TEST_P(SolverInputsTest, CheckSolverInputs) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -702,9 +702,9 @@ TEST_P(LinearSolverTest, CheckLinearSolver) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/mgrid_provider/mgrid_provider_test.cc b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/mgrid_provider/mgrid_provider_test.cc index 61db924cf..f6d55d16c 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/mgrid_provider/mgrid_provider_test.cc +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/mgrid_provider/mgrid_provider_test.cc @@ -434,10 +434,10 @@ TEST(MGridProviderValidation, LoadFileReadsCoilGroupNames) { } TEST(MGridPolynomialInterpolation, - ReproducesTensorPolynomialsAndSmallGridFallback) { + ReproducesTensorPolynomialsOnAvailableStencil) { for (const int num_r : {2, 3, 4, 7}) { for (const int num_z : {2, 3, 4, 8}) { - for (const bool cubic_polynomial : {false, true}) { + for (const int degree : {1, 2, 3}) { makegrid::MagneticFieldResponseTable table; auto& parameters = table.parameters; parameters.normalize_by_currents = false; @@ -453,10 +453,9 @@ TEST(MGridPolynomialInterpolation, table.b_r.resize(2, num_cells); table.b_p.resize(2, num_cells); table.b_z.resize(2, num_cells); - const auto polynomial = [cubic_polynomial](double r, double z, int k) { - return cubic_polynomial ? r * r * r + 2 * z * z * z + r * r * z * z + - 0.3 * r * z + k - : r + z + r * z + k; + const auto polynomial = [degree](double r, double z, int k) { + return std::pow(r, degree) + 2 * std::pow(z, degree) + + std::pow(r * z, degree) + 0.3 * r * z + k; }; for (int k = 0; k < 5; ++k) { for (int j = 0; j < num_z; ++j) { @@ -475,43 +474,37 @@ TEST(MGridPolynomialInterpolation, } Eigen::VectorXd currents(2); currents << 2.0, -0.25; - for (const auto scheme : - {MGridInterpolation::kLinear, MGridInterpolation::kCubic}) { - SCOPED_TRACE(absl::StrFormat("nr=%d nz=%d polynomial=%d scheme=%s", - num_r, num_z, cubic_polynomial, - ToString(scheme))); - MGridProvider provider(scheme); - ASSERT_TRUE(provider.LoadFields(table, currents).ok()); - Eigen::VectorXd r(205), z(205), br(205), bp(205), bz(205); - for (int i = 0; i < 205; ++i) { - r[i] = 1.0 + 2.0 * (((i * 37) % 205) + 0.5) / 205.0; - z[i] = -0.7 + 1.6 * (((i * 71) % 205) + 0.5) / 205.0; - } - r[0] = 1.0; - z[0] = -0.7; - r[1] = 3.0; - z[1] = 0.9; - r[2] = 3.0; - z[2] = -0.7; - r[3] = 1.0; - z[3] = 0.9; - ASSERT_TRUE( - provider.interpolate(0, 205, 5, 205, r, z, br, bp, bz).ok()); - double error = 0.0; - for (int i = 0; i < 205; ++i) { - const double expected = 1.25 * polynomial(r[i], z[i], i % 5); - error = std::max({error, std::abs(br[i] - expected), - std::abs(bp[i] - 2 * expected), - std::abs(bz[i] + expected)}); - } - const bool exact = - !cubic_polynomial || (scheme == MGridInterpolation::kCubic && - num_r >= 4 && num_z >= 4); - if (exact) { - EXPECT_LT(error, 1e-11); - } else { - EXPECT_GT(error, 1e-4); - } + SCOPED_TRACE( + absl::StrFormat("nr=%d nz=%d polynomial=%d", num_r, num_z, degree)); + MGridProvider provider; + ASSERT_TRUE(provider.LoadFields(table, currents).ok()); + Eigen::VectorXd r(205), z(205), br(205), bp(205), bz(205); + for (int i = 0; i < 205; ++i) { + r[i] = 1.0 + 2.0 * (((i * 37) % 205) + 0.5) / 205.0; + z[i] = -0.7 + 1.6 * (((i * 71) % 205) + 0.5) / 205.0; + } + r[0] = 1.0; + z[0] = -0.7; + r[1] = 3.0; + z[1] = 0.9; + r[2] = 3.0; + z[2] = -0.7; + r[3] = 1.0; + z[3] = 0.9; + ASSERT_TRUE( + provider.interpolate(0, 205, 5, 205, r, z, br, bp, bz).ok()); + double error = 0.0; + for (int i = 0; i < 205; ++i) { + const double expected = 1.25 * polynomial(r[i], z[i], i % 5); + error = std::max({error, std::abs(br[i] - expected), + std::abs(bp[i] - 2 * expected), + std::abs(bz[i] + expected)}); + } + const bool exact = num_r > degree && num_z > degree; + if (exact) { + EXPECT_LT(error, 1e-11); + } else { + EXPECT_GT(error, 1e-4); } } } diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/nestor/nestor_test.cc b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/nestor/nestor_test.cc index e1be84c01..981408921 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/nestor/nestor_test.cc +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/nestor/nestor_test.cc @@ -53,9 +53,9 @@ TEST_P(InputsToNestorCallTest, CheckInputsToNestorCall) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -155,9 +155,9 @@ TEST_P(BsqVacTest, CheckBsqVac) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/regularized_integrals/regularized_integrals_test.cc b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/regularized_integrals/regularized_integrals_test.cc index 7e6929d27..90225eff0 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/regularized_integrals/regularized_integrals_test.cc +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/regularized_integrals/regularized_integrals_test.cc @@ -108,9 +108,9 @@ TEST_P(GreenFTest, CheckGreenF) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/singular_integrals/singular_integrals_test.cc b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/singular_integrals/singular_integrals_test.cc index afaac5a06..04441ee78 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/singular_integrals/singular_integrals_test.cc +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/singular_integrals/singular_integrals_test.cc @@ -118,9 +118,9 @@ TEST_P(AnalytTest, CheckAnalyt) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/surface_geometry/surface_geometry_test.cc b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/surface_geometry/surface_geometry_test.cc index 4292902cb..444e59ab5 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/surface_geometry/surface_geometry_test.cc +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/free_boundary/surface_geometry/surface_geometry_test.cc @@ -57,7 +57,6 @@ TEST_P(SurfaceGeometryTest, CheckSurfaceGeometry) { absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/add_fluxes/add_fluxes_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/add_fluxes/add_fluxes_00015_000054_01.cth_like_free_bdy.json index 52a5615c5..dea4f4397 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/add_fluxes/add_fluxes_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/add_fluxes/add_fluxes_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:33a7b441d8afdd97b136638e871c66b61bb0937a6037d9d4bebb809d55ca324d -size 107977 +oid sha256:67798efbbae155f57d335639d5e49e3ef1d6c484cbfabc4feff177f71d108dcd +size 191318 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/bcontrav/bcontrav_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/bcontrav/bcontrav_00015_000054_01.cth_like_free_bdy.json index 9ab26053c..36729026a 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/bcontrav/bcontrav_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/bcontrav/bcontrav_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a97686fbe648ff3d0e51f603ae11c65944fa6bef851311ebb1a39fb86c8cbc3d -size 219341 +oid sha256:1982faaf4a121fdc0a2af78f69b343630e252adbe1e92b292e73b931b2e166d0 +size 381929 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/bcov/bcov_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/bcov/bcov_00015_000054_01.cth_like_free_bdy.json index 56aa18b72..691ecd34e 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/bcov/bcov_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/bcov/bcov_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0397b140048490f07f3f16a413882524787636bebb9d133a9dcc165ed0ceea57 -size 337654 +oid sha256:873f9b75b3d04095cef5921bdcff74863362851ff5f00c2e31aea571f3f7f100 +size 579109 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/bcov_full/bcov_full_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/bcov_full/bcov_full_00015_000054_01.cth_like_free_bdy.json index 321ef92b4..9d1316587 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/bcov_full/bcov_full_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/bcov_full/bcov_full_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f72ddc65ad9a407b9fa11d133462b7cdd8f6d9c413140b2f42c8af4e0380e1af -size 234671 +oid sha256:53c2025075ac99365aabb306c3db5b223029654481dbab64ab590a1fdbc34025 +size 401612 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/bcovar_fileout/bcovar_fileout_00015_000000_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/bcovar_fileout/bcovar_fileout_00015_000000_01.cth_like_free_bdy.json index 2f487d5c5..f18c28254 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/bcovar_fileout/bcovar_fileout_00015_000000_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/bcovar_fileout/bcovar_fileout_00015_000000_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e8899dd20b4fd6c1cecd594add05b470af92521d5f9123fed6067bd8f097d7c5 -size 678067 +oid sha256:690781f7d1a337984b72c1505ed9dd3b4c0f3f1085e6aafb7f534b3517671ac7 +size 1160797 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/bss/bss_00015_000000_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/bss/bss_00015_000000_01.cth_like_free_bdy.json index a7a966fc5..0adc09502 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/bss/bss_00015_000000_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/bss/bss_00015_000000_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:848989968eef91ea06218cd548607fd834262b2b6f0e1da5fd8cbdf6c2078675 -size 1176780 +oid sha256:835ebf94d53fbcbcbf2127cee3c292c87416ce7e2cb23ada495eeba5324b6712 +size 1966544 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/calc_fbal/calc_fbal_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/calc_fbal/calc_fbal_00015_000054_01.cth_like_free_bdy.json index 7ab819d95..43a474323 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/calc_fbal/calc_fbal_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/calc_fbal/calc_fbal_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:15d7636223591f2ceb9848d05972504f00e3ea7d5ce3a36b39d1130450e7b3ae -size 2595 +oid sha256:5a9fcc2f155746e6f7bf5d26b51518a7ac9b255ef56e70c9e1c4f2b684c74c16 +size 3122 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/constraint_force/constraint_force_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/constraint_force/constraint_force_00015_000054_01.cth_like_free_bdy.json index 10fbb9850..a0d496d07 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/constraint_force/constraint_force_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/constraint_force/constraint_force_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aecffdd6762a4635e7f562eac221dc318a214dcbff5ed7b3358bf088326dd9a9 -size 1011703 +oid sha256:59b30edf30e1517d8661d9a7399fd4153c60a028aa472cef8c738580ad7a3545 +size 1635588 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/evolve/evolve_00015_000053_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/evolve/evolve_00015_000053_01.cth_like_free_bdy.json index cf0adc463..e72f42dc8 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/evolve/evolve_00015_000053_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/evolve/evolve_00015_000053_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5b3461b5c7481543bcef1f26a0557c5b913a2e8e0d13fa9ca81df7957ebe735c -size 268496 +oid sha256:37819f267d2d6402557fc53809f5d3ca4f066a9cc28a8eea99d5e336d401f524 +size 570959 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/evolve/evolve_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/evolve/evolve_00015_000054_01.cth_like_free_bdy.json index c73fdfd2b..973da6645 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/evolve/evolve_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/evolve/evolve_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d49e73e134bfa3aa87ef31c5e578a652add6915349c0393885e61b212659fe90 -size 277976 +oid sha256:7dacf5f68c1c652ecdba65fa86cbb1378764cd47f5db33ba7c3de51691b556f0 +size 603160 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/forces/forces_00015_000053_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/forces/forces_00015_000053_01.cth_like_free_bdy.json index cd8317df6..b2edfe061 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/forces/forces_00015_000053_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/forces/forces_00015_000053_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a218d1494b26a6e42afb9bbf485c9a7e164dec43d0aa567767863b303f5bb1f0 -size 6718032 +oid sha256:8d2ca73ae96d4cadd4bab2d51ef282f374849176e4eaa5ac9561e7a220ffa786 +size 11533761 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/forces/forces_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/forces/forces_00015_000054_01.cth_like_free_bdy.json index e1d783dff..528c40670 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/forces/forces_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/forces/forces_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5db8f2c6b798b2e688d841ef91acc4c1ecb3e56a278049de5657fba2b99105f1 -size 6719600 +oid sha256:cf6892d013c8ff7f0f72e7f9271ae64b1d854eea8c70630daddfe97b5f9447f8 +size 11531929 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/freeb_data/freeb_data_00015_000000_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/freeb_data/freeb_data_00015_000000_01.cth_like_free_bdy.json index e4599d829..92d18c8b3 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/freeb_data/freeb_data_00015_000000_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/freeb_data/freeb_data_00015_000000_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4d4884d369384eede0720bbc83db7efbbdef135dc130121cf3cf9444c2164c6f -size 95363 +oid sha256:0be12671b0322735e2c7545746ab7707aa91e2d4f7989dd61a0927d1498f9f1e +size 148114 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/fsq/fsq_00015_000053_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/fsq/fsq_00015_000053_01.cth_like_free_bdy.json index a3ea3c9df..d425684c5 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/fsq/fsq_00015_000053_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/fsq/fsq_00015_000053_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ff8109cd25e94b04281a8ac646012c001024367e41bdc4204efc2676ecc4952f -size 255 +oid sha256:454efc3c5126e1c2a263aff5cf7078e5cf23a4af42cd36aed8cdedc896c5cc04 +size 260 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/fsq/fsq_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/fsq/fsq_00015_000054_01.cth_like_free_bdy.json index 00095d515..d2f260790 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/fsq/fsq_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/fsq/fsq_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9eb5c652c450d387fa75324f3f58b67a41e51979eb51be9130b8859a43f75a3a -size 255 +oid sha256:c9e71ee26ffa6363e609c0019a55ae14863f941f8b0205002889befebd76ecef +size 262 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/fsq1/fsq1_00015_000053_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/fsq1/fsq1_00015_000053_01.cth_like_free_bdy.json index 5854bfa35..5cd8ccf94 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/fsq1/fsq1_00015_000053_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/fsq1/fsq1_00015_000053_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:16b3f0f2773ef601c8bf9b484b28d22a9fc09a3bb52e5f3d7c2fef7cda169354 -size 130 +oid sha256:50fea2be4c2d9b9bd77b645f7912123521f0c9f9876a8557ed23fe2ddd37ff3e +size 142 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/fsq1/fsq1_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/fsq1/fsq1_00015_000054_01.cth_like_free_bdy.json index d8cd18281..21e15114e 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/fsq1/fsq1_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/fsq1/fsq1_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e9436bb70369a5b54c73215fd31d0f96d176ffc147faa235350310de9eccfa98 -size 130 +oid sha256:4962201437acbd2a836fe0031104c8c0988e9aa06892daf173cef72fdcd56735 +size 141 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/funct3d_geometry/funct3d_geometry_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/funct3d_geometry/funct3d_geometry_00015_000054_01.cth_like_free_bdy.json index d3e420545..76bcf4114 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/funct3d_geometry/funct3d_geometry_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/funct3d_geometry/funct3d_geometry_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f3ba1a9fecab2f3ed9ecfeead2d0a47b0f2054484c4e8197983c0f96b5489db4 -size 2350266 +oid sha256:66def0f6cb7f426c708b50bfd9f8b944263d4d5f89569bf9f1c7492b44378381 +size 4441336 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/jacobian/jacobian_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/jacobian/jacobian_00015_000054_01.cth_like_free_bdy.json index e75f738a5..5aecb4453 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/jacobian/jacobian_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/jacobian/jacobian_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fc724f8502912c632063525f6c9a29a39d90273baa5ec5536e1d282637890202 -size 722913 +oid sha256:d73f3cfb996ea0e7de0cc3fe29f20274382f3e3bba5d9e15a62d95cf099df528 +size 1196828 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/jxbforce_bsub_lowpass/jxbforce_bsub_lowpass_00015_000000_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/jxbforce_bsub_lowpass/jxbforce_bsub_lowpass_00015_000000_01.cth_like_free_bdy.json index bad8fcbfc..c7fe21269 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/jxbforce_bsub_lowpass/jxbforce_bsub_lowpass_00015_000000_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/jxbforce_bsub_lowpass/jxbforce_bsub_lowpass_00015_000000_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:90d7301d943a536286bff06035e67653f4ea7c6cbedd36dfde46e10d48caeae7 -size 1149913 +oid sha256:827d1bfc1f30cde23caa2f7dc8d29a08d3f007366014fdd64ffcceb7d9544f4c +size 1793439 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/jxbout/jxbout_00015_000000_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/jxbout/jxbout_00015_000000_01.cth_like_free_bdy.json index a0b59489d..9d5300f1c 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/jxbout/jxbout_00015_000000_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/jxbout/jxbout_00015_000000_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1e765ebbe167ad0b694c72ca8b3a42d2637f49d8c9c3b4083b3a9d1638008b03 -size 1598368 +oid sha256:54e1ace6142829bfac42de25be05ab1c5976a1da189290a223fdc40fa28a1f4f +size 2770470 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/lambda_forces/lambda_forces_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/lambda_forces/lambda_forces_00015_000054_01.cth_like_free_bdy.json index 777a67f0a..6c20caac4 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/lambda_forces/lambda_forces_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/lambda_forces/lambda_forces_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bdab5acaf62d943c8a5b32ea11e0693f31373922fb64d26472aed11513631b7b -size 581842 +oid sha256:12c6d9c26f444aa95e926e8debade16f2a165390b203bd93c00bbdd2ee7a00b9 +size 1035495 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/lulv_comb/lulv_comb_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/lulv_comb/lulv_comb_00015_000054_01.cth_like_free_bdy.json index fa1449cdd..5cbf4f7de 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/lulv_comb/lulv_comb_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/lulv_comb/lulv_comb_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d159b9b7fa61b04a0ba6924c210b30cdf5bd2a208e69dbf1678de32a123a4e12 -size 1477991 +oid sha256:64831279bd640f828faaed2f71da81cff23ed43f8b92e80351ff59d4798c5dab +size 2519214 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/mercier/mercier_00015_000000_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/mercier/mercier_00015_000000_01.cth_like_free_bdy.json index 243d4d2fd..60fdad7a0 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/mercier/mercier_00015_000000_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/mercier/mercier_00015_000000_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c5c48039aad87b390c7625a779516e62c3b6b52a632a90e1d5c4b2e390321e14 -size 386036 +oid sha256:6b87510063b65c2a9699c4a503169be8c17aec67a9624fb6f761c4ae93bb6f24 +size 702476 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/metric/metric_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/metric/metric_00015_000054_01.cth_like_free_bdy.json index cb44931f2..4e35483b7 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/metric/metric_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/metric/metric_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:254cb85fc7d121fc2025ca0d5ed2424cb744ad16690078c105a8f87ef3ae06b0 -size 581509 +oid sha256:04bb555970bfae776d94b4f56826ae6b577bc6bc2a8c6a43d9f717457f989413 +size 987665 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/multigrid_result/multigrid_result_00015_000490_00.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/multigrid_result/multigrid_result_00015_000490_00.cth_like_free_bdy.json deleted file mode 100644 index c84b76eec..000000000 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/multigrid_result/multigrid_result_00015_000490_00.cth_like_free_bdy.json +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7dfb09dce9695f47ed3e7c71f4e88d84fa54bd84a192519486691dd6b3065a70 -size 102519 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/multigrid_result/multigrid_result_00015_000496_00.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/multigrid_result/multigrid_result_00015_000496_00.cth_like_free_bdy.json new file mode 100644 index 000000000..d9da93966 --- /dev/null +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/multigrid_result/multigrid_result_00015_000496_00.cth_like_free_bdy.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:078380cca5a035caaded96f8f4f331b6461c53be66a9451b6f8b1595d047f4c0 +size 222526 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/phys_gc/phys_gc_00015_000053_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/phys_gc/phys_gc_00015_000053_01.cth_like_free_bdy.json index afdf770da..fd1130676 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/phys_gc/phys_gc_00015_000053_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/phys_gc/phys_gc_00015_000053_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f6f0b28740c006af4f569abbf946fad810e3475ac88a62b5fe4bf201f85dad3d -size 55380 +oid sha256:d1c7b6f90b70e4b38b8789459f571b69f6c8045cf90cd2aed602236a325149ca +size 107125 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/phys_gc/phys_gc_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/phys_gc/phys_gc_00015_000054_01.cth_like_free_bdy.json index e69084d07..ab63ee51f 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/phys_gc/phys_gc_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/phys_gc/phys_gc_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8256a9b7d58a725bbc1176ad561946abd420592c419bcf716f61de08da77aa72 -size 55440 +oid sha256:5eea512e11e90b3513f4e9ead75c457ddbfa53568d6e33ac4ebb302f641b3819 +size 107230 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/rbsq/rbsq_00015_000053_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/rbsq/rbsq_00015_000053_01.cth_like_free_bdy.json index d7d06242c..246511e49 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/rbsq/rbsq_00015_000053_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/rbsq/rbsq_00015_000053_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cd1436fb3de4edf0c18f709650abf2ca82a34ed851e886b8f92b849a0255e3de -size 6621 +oid sha256:0d30966c6ee7cd99d75cd87105296343c9d8ec925bb5120fe2f79a13a32632e6 +size 11001 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/rbsq/rbsq_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/rbsq/rbsq_00015_000054_01.cth_like_free_bdy.json index 7efb9e82e..a7b600b3b 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/rbsq/rbsq_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/rbsq/rbsq_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f31796fac6960fbb580034798982034bb974303c8988abe3ba6f2a836786221a -size 6621 +oid sha256:f871ebbc8af18c0457fe9a35786a6886d0585d9f80703635a87726c93d367f1a +size 11002 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/scale_m1/scale_m1_00015_000053_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/scale_m1/scale_m1_00015_000053_01.cth_like_free_bdy.json index eab70ed9f..2f6a38524 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/scale_m1/scale_m1_00015_000053_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/scale_m1/scale_m1_00015_000053_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f78b444d8c53b086973b716364fd85241aff595e615ebd3760b69d94811f1c5a -size 36974 +oid sha256:068fe2cac035a1dc53ef1360936e4d17d8a196687bfbe7dc0524c0d77254e381 +size 71589 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/scale_m1/scale_m1_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/scale_m1/scale_m1_00015_000054_01.cth_like_free_bdy.json index 9c79b2c13..658352142 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/scale_m1/scale_m1_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/scale_m1/scale_m1_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e419afe8db1ed884b2c66b3bbdd14a4ef4db6f84807bf83d0cd4c89e3349824a -size 36985 +oid sha256:24d94b74ba12794f070caa99319083782dce06f9af299e7c7d8b2146bd55af8b +size 71610 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/scalfor_out/scalfor_out_00015_000053_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/scalfor_out/scalfor_out_00015_000053_01.cth_like_free_bdy.json index 8fb8c4369..dc4fdd965 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/scalfor_out/scalfor_out_00015_000053_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/scalfor_out/scalfor_out_00015_000053_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:de71bf538c375e991a1f12a22afba5fb687d9912d4b2573829bc5449cc952e1c -size 62329 +oid sha256:e26df2402f5930b73716af1936f32195408dc2c824986b229cce805d11ca3031 +size 118960 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/scalfor_out/scalfor_out_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/scalfor_out/scalfor_out_00015_000054_01.cth_like_free_bdy.json index 0d0bfb873..e55941096 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/scalfor_out/scalfor_out_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/scalfor_out/scalfor_out_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:171d7d0926153805b7ad282dec6ce7fa3c238266df9925c13ff5a867455912e0 -size 62194 +oid sha256:5cfe5e5cbda1a269e44ab25c4e57a93930ac787721eeba5e3a3b266026e8b2e1 +size 118881 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_axis/threed1_axis_00015_000000_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_axis/threed1_axis_00015_000000_01.cth_like_free_bdy.json index 1ba3ba25a..ad4c2c0c6 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_axis/threed1_axis_00015_000000_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_axis/threed1_axis_00015_000000_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3b5f6d24ff4f32e175135728b07d5d4ed728c2797e5422d06ddac1dab5b25782 -size 504 +oid sha256:164534e3c3dbf5264364989eee505315ec50706d72a5d918e3a28d37126459d2 +size 521 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_beta/threed1_beta_00015_000000_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_beta/threed1_beta_00015_000000_01.cth_like_free_bdy.json index b93f59f60..3a6bf345a 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_beta/threed1_beta_00015_000000_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_beta/threed1_beta_00015_000000_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:660d0838c5b4cb0fc66c600b60a5fd0e4f4c12d863066e059631d261c2730689 -size 206 +oid sha256:8b41079a60eb141cc5d6def0cf27b8bdf3cb737d7a776e53695442a224ac9a08 +size 221 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_firstTable/threed1_firstTable_00015_000000_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_firstTable/threed1_firstTable_00015_000000_01.cth_like_free_bdy.json index 817cee709..6cec995eb 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_firstTable/threed1_firstTable_00015_000000_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_firstTable/threed1_firstTable_00015_000000_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7a262390c73d722f060f4cf5d5d04c24dac6a7c9b364512a29d81b42debe5428 -size 6583 +oid sha256:3a04005902cb7271ab7d843dc2d59f8f7559baef28b488b21773c6999c9dd926 +size 8110 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_geomag/threed1_geomag_00015_000000_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_geomag/threed1_geomag_00015_000000_01.cth_like_free_bdy.json index 98a306241..5803b4489 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_geomag/threed1_geomag_00015_000000_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_geomag/threed1_geomag_00015_000000_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6328c1fb59d11819e2af02d57901309fecc5db2cef6cfa370b83f6be4fd34ffd -size 29024 +oid sha256:15b8fbbfb73900fe7a07d3c813087b844651b3502dccdc64d6c2051d73810599 +size 42201 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_shafrint/threed1_shafrint_00015_000000_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_shafrint/threed1_shafrint_00015_000000_01.cth_like_free_bdy.json index c9bd2e24a..51ba1c9d3 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_shafrint/threed1_shafrint_00015_000000_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_shafrint/threed1_shafrint_00015_000000_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f12fae61efc661457920661faea62ad600006005e31dbbb8794b4f67e054d8ab -size 472 +oid sha256:a8caed8e0659b55dad04328beeb2e85695439793c707e6a16a5bcb4e1e48342d +size 522 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_volquant/threed1_volquant_00015_000000_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_volquant/threed1_volquant_00015_000000_01.cth_like_free_bdy.json index f67c683c2..5a939cbc4 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_volquant/threed1_volquant_00015_000000_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/threed1_volquant/threed1_volquant_00015_000000_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ada3aad03330efc843bc91074406c1a9c9cec49b47fe42b6b1ccd891046262d5 -size 306 +oid sha256:741d344c21529bbd4d89d77d35cb7b704a6036646e5f5dc8f469496798e49948 +size 352 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/tomnsps/tomnsps_00015_000053_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/tomnsps/tomnsps_00015_000053_01.cth_like_free_bdy.json index 97dc07d66..fd5ae6a25 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/tomnsps/tomnsps_00015_000053_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/tomnsps/tomnsps_00015_000053_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3b6b8e075536a605d00e36759e941d8d33159af8a4e624983d453e2f5657726d -size 55404 +oid sha256:d8801bb4a2f3c58f9ec0197595646e0e5aea647db4be637d477a2f3a23fe6ec6 +size 93757 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/tomnsps/tomnsps_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/tomnsps/tomnsps_00015_000054_01.cth_like_free_bdy.json index d7a990aec..adeba0b77 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/tomnsps/tomnsps_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/tomnsps/tomnsps_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:24689209f8896e68381f132d0a68f246955f589656626726946f09cdb1c76349 -size 55472 +oid sha256:f4fcbde4555506793950827a8c2ee45cce276ccdfc328e503c4dd69de1f023ef +size 93852 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/totzsp_input/totzsp_input_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/totzsp_input/totzsp_input_00015_000054_01.cth_like_free_bdy.json index dd0d3bdff..701d6c01f 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/totzsp_input/totzsp_input_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/totzsp_input/totzsp_input_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:040e5b40311b20832f89b0a7062d5b8db2585e4e2bf74502ab9cc1db2887fe78 -size 55234 +oid sha256:44c4d65f8b979178b8f02fee517caa105da2306702032e368b04f13fc200de6e +size 119998 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_analyt/vac1n_analyt_00015_000053_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_analyt/vac1n_analyt_00015_000053_01.cth_like_free_bdy.json index c74a9c5ed..9379401d2 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_analyt/vac1n_analyt_00015_000053_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_analyt/vac1n_analyt_00015_000053_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:097da660cc5a22338d273484cd483750d06ca2ea357d1d81c41af4a9acfca346 -size 793897 +oid sha256:4fd276ca464e2d6954af52bcb24806ae06d67e1f09039ec19360d36bc09dc4ed +size 1470230 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_analyt/vac1n_analyt_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_analyt/vac1n_analyt_00015_000054_01.cth_like_free_bdy.json index dae1c8d20..b03ce553a 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_analyt/vac1n_analyt_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_analyt/vac1n_analyt_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:041f7a90ca4bc71bf045cdc85d74ac51a99128944149796e4a704cb8b7af4372 -size 158849 +oid sha256:bb54556b0ca975f4162b9236b947180c74c6c564be2e8ac93a5daa1d6fd87e13 +size 285274 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_bextern/vac1n_bextern_00015_000053_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_bextern/vac1n_bextern_00015_000053_01.cth_like_free_bdy.json index 31600fd74..fa62cd279 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_bextern/vac1n_bextern_00015_000053_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_bextern/vac1n_bextern_00015_000053_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:05c4aba3052f2b8ddd42c57dd097c6b3a2f2898a713380068df3969283267613 -size 90198 +oid sha256:c2bf2407d3bc6f04e0c2d5d93f1d67d3201ab10c78bfd00f3e5b53d701225b60 +size 135386 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_bextern/vac1n_bextern_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_bextern/vac1n_bextern_00015_000054_01.cth_like_free_bdy.json index 1c9795f8f..8d20325f7 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_bextern/vac1n_bextern_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_bextern/vac1n_bextern_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:77ad3ac4b55331da13267ddaba9b765867d8ef4a305316f3fc47599c91d7ec22 -size 90214 +oid sha256:5aba689a39523600b4abed1e051fc67ffcf844bc79ac661ceb2f6f74fa3f0636 +size 135389 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_bsqvac/vac1n_bsqvac_00015_000053_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_bsqvac/vac1n_bsqvac_00015_000053_01.cth_like_free_bdy.json index bd546228a..21e32f5aa 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_bsqvac/vac1n_bsqvac_00015_000053_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_bsqvac/vac1n_bsqvac_00015_000053_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9ed11ca1bbc7f8ca41875f69aeb9f1a41fe498113b4d4884023b295032b3318b -size 63701 +oid sha256:cfd28adbdcd271b3686efddff538448ec94c1cd4a069b03e5c3a8bfc04faf990 +size 95441 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_bsqvac/vac1n_bsqvac_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_bsqvac/vac1n_bsqvac_00015_000054_01.cth_like_free_bdy.json index 9114444ae..6c23d9681 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_bsqvac/vac1n_bsqvac_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_bsqvac/vac1n_bsqvac_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b3f308bd3da379642c14d9568a3882c8df280c18ba212df153817259106d1399 -size 63725 +oid sha256:ae538a81f166943ecf43838f44d8fc5915a5962cfd2b575267e5fd0998132b65 +size 95522 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_fouri/vac1n_fouri_00015_000053_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_fouri/vac1n_fouri_00015_000053_01.cth_like_free_bdy.json index 4d60992ee..ad00120ff 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_fouri/vac1n_fouri_00015_000053_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_fouri/vac1n_fouri_00015_000053_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4f3a1e92d40b556ff2b7f2bad1eb9d913c033098a2d0264200962626f1c15213 -size 423918 +oid sha256:dbc16b43b3f13d44349e00e054ce3b3c2139f2551fa2b783cc0ae13b7619e4ef +size 775116 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_fourp/vac1n_fourp_00015_000053_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_fourp/vac1n_fourp_00015_000053_01.cth_like_free_bdy.json index c6b90ae78..fc88e106c 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_fourp/vac1n_fourp_00015_000053_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_fourp/vac1n_fourp_00015_000053_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:debd50a369c613965760cb5750a092ef02a8a917f72ce6687c47fdc9944ac396 -size 475061 +oid sha256:49b2f14b5daee7eb448ea3b7a0d6d2f499a31501e85afdb9a82f40c4a0351781 +size 921082 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_greenf/vac1n_greenf_00015_000053_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_greenf/vac1n_greenf_00015_000053_01.cth_like_free_bdy.json index adb7cef8b..47ff9d6cd 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_greenf/vac1n_greenf_00015_000053_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_greenf/vac1n_greenf_00015_000053_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1dc1b94e221fccb9e9494f74649fdd5a36900e0350cf768a21cab9101bdc3b0a -size 7909877 +oid sha256:66f8f0e5264d677fb4866492c51707da4a31d0b8644579646ceab5b685e88996 +size 16444114 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_solver/vac1n_solver_00015_000053_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_solver/vac1n_solver_00015_000053_01.cth_like_free_bdy.json index d5ca2be92..8a2033fe1 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_solver/vac1n_solver_00015_000053_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_solver/vac1n_solver_00015_000053_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a00f1cdce70d9e99cdd3da1ee5b187009c22990f6befa20e643a00d819529239 -size 94826 +oid sha256:58dcbca2b6ddd2152c463f5906fb33b0c90261a46bf9a641d0d23c48273e3d61 +size 131702 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_solver/vac1n_solver_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_solver/vac1n_solver_00015_000054_01.cth_like_free_bdy.json index 584333c71..832948b01 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_solver/vac1n_solver_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_solver/vac1n_solver_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:34b50023b979d7b071737735dd2707036c77381d71072dd110b99c21696e14c4 -size 94838 +oid sha256:19a79c1523c1a312d737358d6a2027191c7d90b175dbde3bba22c688d48b9900 +size 131715 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_surface/vac1n_surface_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_surface/vac1n_surface_00015_000054_01.cth_like_free_bdy.json index 9ef3f1794..386995e03 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_surface/vac1n_surface_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_surface/vac1n_surface_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ca955d458f416673fcc5646ea03f7b6e360a1d7e701c1db3a9740919dd635780 -size 220110 +oid sha256:50cf17ee9fc663d3de8bdb7bc93564eee4928e8d4f9ba1495ef48341bf9281a5 +size 330048 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_vacuum/vac1n_vacuum_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_vacuum/vac1n_vacuum_00015_000054_01.cth_like_free_bdy.json index e1dddc280..3ad5942aa 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_vacuum/vac1n_vacuum_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/vac1n_vacuum/vac1n_vacuum_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ec4455326eba40593981dfe3aa4958f7638bad31eb7b35549f25e2e8d19addf7 -size 13838 +oid sha256:6be3261aedefc823e8e5e00d8804f7842c7006f6104a0e36ec984a8ebd85944c +size 17858 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/volume/volume_00015_000054_01.cth_like_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/volume/volume_00015_000054_01.cth_like_free_bdy.json index 4fb9c2d45..1dd23326b 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/volume/volume_00015_000054_01.cth_like_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy/volume/volume_00015_000054_01.cth_like_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:de7f19539f21184c2728f98ea16834c572c7f387568e9f7076c1c54c90c70c59 -size 428 +oid sha256:c4e99377a9688f8eb03ca138084cdb21b92fb2db36c15feb303f45b5ca03c45f +size 496 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/add_fluxes/add_fluxes_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/add_fluxes/add_fluxes_00032_000001_01.solovev_free_bdy.json index ccebbeab8..3286a229f 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/add_fluxes/add_fluxes_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/add_fluxes/add_fluxes_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b067ef3ebd9b1b82ba49d4c0545c2ff847108e48cda893e2ddc429c35455d9dc -size 24386 +oid sha256:5d7130ba98567f0ee766c452fd7b26a03b43eb9c1f0b8d6a956fac62a8d4cbd9 +size 24369 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/add_fluxes/add_fluxes_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/add_fluxes/add_fluxes_00032_000002_01.solovev_free_bdy.json index b12d5bee4..0152fe038 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/add_fluxes/add_fluxes_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/add_fluxes/add_fluxes_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a76e80b08618124365b0556ce2d6a16b3dc4a0b3c686bcffae220b49d86bdb50 -size 24375 +oid sha256:039d5a451785d970fa92d00a005fb5f49a20ef8fdad3239538d7e06a21cdbd61 +size 24376 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcontrav/bcontrav_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcontrav/bcontrav_00032_000001_01.solovev_free_bdy.json index cb528a49b..a71fd01cb 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcontrav/bcontrav_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcontrav/bcontrav_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:240e3a8fd0f9eb47f9d229c2191f8aeac8aa07e5c4d66577ed285feb5529c5e2 -size 33156 +oid sha256:b36cc79d3da03a3acbe2bcfba50d8d8391d78f0de549c54e52196c3bd2545858 +size 33147 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcontrav/bcontrav_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcontrav/bcontrav_00032_000002_01.solovev_free_bdy.json index a0b3ee680..cb1d03661 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcontrav/bcontrav_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcontrav/bcontrav_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d5705b9ea91aed303a14a791ae78e2110c6e56981522cea2c24409d1c9fc51aa -size 33195 +oid sha256:d50e352770991012ad807714e3eea42b8b233e0921e91ae2e40ffc055f53bef4 +size 33166 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcov/bcov_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcov/bcov_00032_000001_01.solovev_free_bdy.json index 73f1a169f..648893225 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcov/bcov_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcov/bcov_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9b2dd71672a1cea0ca94e04e3012c9852d3d202c649fb134c69cd83594a4d105 -size 61992 +oid sha256:cf6b059e3b2d7561b93e97c854dee424a7ab65aad25f38df6bc29f93bbd698b8 +size 61988 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcov/bcov_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcov/bcov_00032_000002_01.solovev_free_bdy.json index c91dddb67..bd2590a3d 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcov/bcov_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcov/bcov_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:421f1056a1535d133d35bd49ac3db66735ef09138ccf50f902ff6e11a93e3351 -size 61993 +oid sha256:2a886eeeda1ac43e8b563ded745a4ba2db83b5b0a867287b77e866294cde5134 +size 61997 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcov_full/bcov_full_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcov_full/bcov_full_00032_000001_01.solovev_free_bdy.json index 0c0a3dc87..157689a1a 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcov_full/bcov_full_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcov_full/bcov_full_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2f7081b8d8c54b0455e1910168e9c964e7c7c6817d87028a13c910fe4906278c -size 41947 +oid sha256:cbfb3d2add8677993aa72964e8d67fa47412c6006ddd703795276d37c76aee89 +size 41948 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcov_full/bcov_full_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcov_full/bcov_full_00032_000002_01.solovev_free_bdy.json index f0f5289ca..866678fb5 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcov_full/bcov_full_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcov_full/bcov_full_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8a1734e1304aa6c35ea058fa72d77319b72ca91ad9a7c735af3eb5deadd41860 -size 41959 +oid sha256:5e30d2d2323178d68919b997cdda419f5852c17209279fc539e2e84b4fd10136 +size 41947 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcovar_fileout/bcovar_fileout_00032_000000_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcovar_fileout/bcovar_fileout_00032_000000_01.solovev_free_bdy.json index cc1f3a6c4..876183c96 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcovar_fileout/bcovar_fileout_00032_000000_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bcovar_fileout/bcovar_fileout_00032_000000_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1e05efc9411b7630992c5ca9b799e1ba198422fd114162907cc55287de153407 -size 122793 +oid sha256:306e8476687fcf4f3c048019ff16cc4e7079b0827cde248594535bad57e774c2 +size 122708 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bss/bss_00032_000000_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bss/bss_00032_000000_01.solovev_free_bdy.json index 878284ed7..2967a5fc7 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bss/bss_00032_000000_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/bss/bss_00032_000000_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b183f5029a38a982049bcabe544b1a8d38d7f872b922788a74905c001c3688e9 -size 179374 +oid sha256:0892688d08a50744ef3c5153cd499f1766c568c3651ca7a95c07b536cb7f6344 +size 179308 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/calc_fbal/calc_fbal_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/calc_fbal/calc_fbal_00032_000001_01.solovev_free_bdy.json index a170e92f6..7d264d3ad 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/calc_fbal/calc_fbal_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/calc_fbal/calc_fbal_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6710b9c1a05ca724b75568572756bcf0446d685c85b90e780fc1a5555d4a06be -size 6663 +oid sha256:2ae721702daed402c473dd3bbaa428b65a9afa3e4ff6d7f5b19b8d52d7b6b0b9 +size 6659 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/calc_fbal/calc_fbal_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/calc_fbal/calc_fbal_00032_000002_01.solovev_free_bdy.json index 24f816d47..6f9d53fe8 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/calc_fbal/calc_fbal_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/calc_fbal/calc_fbal_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:97b5c17d063ee33b02c3aba0967c21efd11c42eeedc8982e8cb0974401bf930f -size 6680 +oid sha256:a7aac580e42bc4c10130f09629a412e91315592e35ad584fe1fb6b2114342ec4 +size 6672 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/constraint_force/constraint_force_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/constraint_force/constraint_force_00032_000001_01.solovev_free_bdy.json index 9f91b8aaa..3d08206ad 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/constraint_force/constraint_force_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/constraint_force/constraint_force_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5a0836600984fd8ed87877f57e63589211adc25f17eb87559bdf5e16906c0319 -size 192184 +oid sha256:82563e55994a27b05ba6da730c71486e31241e7b6f38c10f8603ac369fd8013e +size 192205 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/constraint_force/constraint_force_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/constraint_force/constraint_force_00032_000002_01.solovev_free_bdy.json index 27603de69..19c1ba899 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/constraint_force/constraint_force_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/constraint_force/constraint_force_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a3a5290c1cfaf40788bdbac4c043a4dbe3d1dcefae8422382c08cc9e479daa2a -size 191626 +oid sha256:38e7728cdc78d11979479b8defce6567cc3772ed3da18309b5da9947e90d1794 +size 191582 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/evolve/evolve_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/evolve/evolve_00032_000001_01.solovev_free_bdy.json index 5219c51a1..ff55889c3 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/evolve/evolve_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/evolve/evolve_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b4e05dd840b196c8e77a401b9393e7a7db0bc923bd8468dd80598016db83dde4 -size 284021 +oid sha256:b0264ee128d3ba75e965d413995afe41dfcea3dc4f5228efd8607f9a5a2517e4 +size 284089 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/evolve/evolve_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/evolve/evolve_00032_000002_01.solovev_free_bdy.json index 3d8dc59b1..175d45b86 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/evolve/evolve_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/evolve/evolve_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f7818e2799069d601298ba70b48bf13deaa5a7c6ed48e49a700c4eb072edaa4c -size 303714 +oid sha256:28b2a3fab3a9f1bd99d697f6f7681d7f8f35879a7a52b34d1a16f239e28e822a +size 303774 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/forceNorms_tcon/forceNorms_tcon_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/forceNorms_tcon/forceNorms_tcon_00032_000001_01.solovev_free_bdy.json index 5cfaa925d..7f1bc00e2 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/forceNorms_tcon/forceNorms_tcon_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/forceNorms_tcon/forceNorms_tcon_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8ccdaa90b9d71ee83175a5bd0511c6e9b5a5a7ac543a379237596f3afcaf70a1 -size 81165 +oid sha256:11522cefa9b3240907b5ecd1deaf756b3832683f3c9b031e94b202360ab5b35c +size 81179 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/forces/forces_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/forces/forces_00032_000001_01.solovev_free_bdy.json index 0f1ca8566..49af6b62b 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/forces/forces_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/forces/forces_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ee8d6f4c4edc2133df26b8dd4ff067767f926ed872d27e8b15243a804d329a93 -size 1006549 +oid sha256:4f579c952988cf0bd52697853e747021c5740d93e50762233fc94ee15bfcfc88 +size 1006600 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/forces/forces_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/forces/forces_00032_000002_01.solovev_free_bdy.json index caa1de884..51ed0c9c3 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/forces/forces_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/forces/forces_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:12b62e0c7bc27c47cfdf7dc06829e4d3192f5c9d57f756bc5d6f7b2af67f6a21 -size 1005078 +oid sha256:c7ac6bc0ccf94818bac9928c8ac94066116e731cdb21f9840632b71fb347df8a +size 1005158 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/freeb_data/freeb_data_00032_000000_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/freeb_data/freeb_data_00032_000000_01.solovev_free_bdy.json index 1ad19ce47..6c014328f 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/freeb_data/freeb_data_00032_000000_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/freeb_data/freeb_data_00032_000000_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8761796a77be25f5d305e5eaa01e64b1da9d7e7e11d87f5f0a0553fb49bc081a -size 7189 +oid sha256:e76228f858abd9668563ec1bf57bda021f735a1c3201256ba5800acdd01f3b1b +size 7197 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/fsq/fsq_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/fsq/fsq_00032_000001_01.solovev_free_bdy.json index 674b057d3..7bee4c88e 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/fsq/fsq_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/fsq/fsq_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9ea3c2f8bac00b94f29c72aee017b8af0048fc1745dd55b8bdab48c238377af1 -size 252 +oid sha256:5d1d71f5d515522733ede68fa63b625289329d9df8edb7e71bc53c75ef60a0c8 +size 250 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/fsq/fsq_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/fsq/fsq_00032_000002_01.solovev_free_bdy.json index 357411757..32a7e8475 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/fsq/fsq_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/fsq/fsq_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d42516133cdc0148680dd27de5cbb4a62cd5fba0e18585a2fde2ededef650d6a +oid sha256:b36a3705ebfd4a4465a3e94640b1b0aa7d463a96790fc0fa470b28be16105fa7 size 257 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/fsq1/fsq1_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/fsq1/fsq1_00032_000001_01.solovev_free_bdy.json index f4dbd8296..85c797c85 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/fsq1/fsq1_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/fsq1/fsq1_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8c32174fdf89356093b108abd8f856d2de88e883cb1c9b7addcc196b5663870d +oid sha256:89eeb835e17b729060a8eaaed51cc34b3a3de95f9811fc4308fb64a370fbd630 size 146 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/fsq1/fsq1_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/fsq1/fsq1_00032_000002_01.solovev_free_bdy.json index ff44eec61..1d746241b 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/fsq1/fsq1_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/fsq1/fsq1_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4e578dcd5ff09099814712a983f796373101b09cca48bfc38f6299458760def9 -size 149 +oid sha256:2eba0f6cc1754d9421c397e6d9226f5c086a8aa2db7a5750fffbeaeee18ea102 +size 148 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/funct3d_geometry/funct3d_geometry_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/funct3d_geometry/funct3d_geometry_00032_000001_01.solovev_free_bdy.json index ddc816f95..1c299c1e7 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/funct3d_geometry/funct3d_geometry_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/funct3d_geometry/funct3d_geometry_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0e5c5b0b0df5926996c421a4b9f2b8690020b1c23b18345badca0d28c7370d00 -size 417145 +oid sha256:8318232a5fc41b4af0571cc1c121c368edcde366562e248218b7ff63ef8529de +size 417080 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/funct3d_geometry/funct3d_geometry_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/funct3d_geometry/funct3d_geometry_00032_000002_01.solovev_free_bdy.json index 23ac42c3d..0e68d2efd 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/funct3d_geometry/funct3d_geometry_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/funct3d_geometry/funct3d_geometry_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2a77ac33b828c59a1c3f7b283c2f6a5bf418193321168bd66fae621063d3334f -size 417133 +oid sha256:cde94394a9aaafcbf593c32485afe56be23e3cec50a5e3724f1fbde807a1cd4f +size 417146 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/interp/interp_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/interp/interp_00032_000001_01.solovev_free_bdy.json index 06e7cb550..643df9b3e 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/interp/interp_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/interp/interp_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0b99c1637a20503f395fe70f9cbde66472c5d19fb22e586d760f07b03c259bd7 -size 143451 +oid sha256:e87c2a7de82cc80216ed770376844d8dc894047643cf2265256feeb9ef40d279 +size 143444 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/jacobian/jacobian_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/jacobian/jacobian_00032_000001_01.solovev_free_bdy.json index eaf103713..431100f3f 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/jacobian/jacobian_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/jacobian/jacobian_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dd85bd08ed628bf2b9d11be7d93a096be46fed8459f41bddaae62c0b9e181e3d -size 121977 +oid sha256:356cbb46021d221db1ea6111fc4c7d7761130627a4e1065742e0908cfb4f7047 +size 121968 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/jacobian/jacobian_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/jacobian/jacobian_00032_000002_01.solovev_free_bdy.json index fe6741da4..5f5a46c5f 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/jacobian/jacobian_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/jacobian/jacobian_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:50a5f47dc7691e17f3391b8fd1f0b6d5df5516b8a2e8c931fc15b12c7078ccbb -size 121925 +oid sha256:f562620bd241e74a1b6956a502585f8e0d028a4be07099e43c983a73c7831f6f +size 121931 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/jxbforce_bsub_lowpass/jxbforce_bsub_lowpass_00032_000000_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/jxbforce_bsub_lowpass/jxbforce_bsub_lowpass_00032_000000_01.solovev_free_bdy.json index 8325217bd..4a5462e13 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/jxbforce_bsub_lowpass/jxbforce_bsub_lowpass_00032_000000_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/jxbforce_bsub_lowpass/jxbforce_bsub_lowpass_00032_000000_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:42e069d50eab980873dd0f9791ac8ae6bb7309dfb944d8ebd8fe81761fe871b1 -size 171779 +oid sha256:21deea84d937e99ee466207fccad9f39b7a67c547b829a985ceacb7759512794 +size 171791 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/jxbout/jxbout_00032_000000_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/jxbout/jxbout_00032_000000_01.solovev_free_bdy.json index ce63f2c4b..94aee0704 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/jxbout/jxbout_00032_000000_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/jxbout/jxbout_00032_000000_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1515bfd5c1d726e91c3681f10d736c7dbbd800b079617ea591f65faaae7407d4 -size 308425 +oid sha256:66dc6ffe708bd9af334c1dc34270ea82c14e1d6f391fc2128829cc568a23c2c9 +size 308403 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/lambda_forces/lambda_forces_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/lambda_forces/lambda_forces_00032_000001_01.solovev_free_bdy.json index e71db9dbb..765372de2 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/lambda_forces/lambda_forces_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/lambda_forces/lambda_forces_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a118f932a24e190bb2e672f19e6231324cde5ee06eeb11e78314e1fda6680947 -size 99795 +oid sha256:c153f07808db175aa7efcb136a10983e8c9fc866c6ce93bb61c698e17064c44c +size 99766 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/lambda_forces/lambda_forces_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/lambda_forces/lambda_forces_00032_000002_01.solovev_free_bdy.json index 1b41e8227..335f2c3ec 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/lambda_forces/lambda_forces_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/lambda_forces/lambda_forces_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:14ba223378af84bb02fb7c82ca11b6888d50c4fca8dd4457891a27f681d08e11 -size 99756 +oid sha256:01b878db77ad78af38fc54da465e8f96fad1854dd4697ca218bf1bd5e04fdd21 +size 99792 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/lamcal/lamcal_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/lamcal/lamcal_00032_000001_01.solovev_free_bdy.json index 01560ac7e..bcc9fb788 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/lamcal/lamcal_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/lamcal/lamcal_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f495326a1af5b188ce0dc0a13dedc8b5e655ada4e428ae9105a9073768915d22 -size 18228 +oid sha256:2994fabcd97aad236e6ec6b9d4127a3e851851a1b3f3d9e089177d0cf7589f30 +size 18221 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/lulv_comb/lulv_comb_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/lulv_comb/lulv_comb_00032_000001_01.solovev_free_bdy.json index 9117830f8..c058d8985 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/lulv_comb/lulv_comb_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/lulv_comb/lulv_comb_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7fcdbe65d6de632ddcda3f33292d57e397a50d99e81e285634ec2b93f90a7fd9 -size 255930 +oid sha256:32198de07ee4d513d12278f25b85c52f33522028fef2617643a9339d598466a4 +size 255932 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/lulv_comb/lulv_comb_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/lulv_comb/lulv_comb_00032_000002_01.solovev_free_bdy.json index eeadfbe59..93220324e 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/lulv_comb/lulv_comb_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/lulv_comb/lulv_comb_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:28735f9825cca956ef881ba691010f08c3df544b1597b266a9817f95014c4bdc -size 256047 +oid sha256:50e85c5d3bd6aaab530d73f48a3c162caaebaa464744bbca85ca417a41fe0d45 +size 256079 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/mercier/mercier_00032_000000_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/mercier/mercier_00032_000000_01.solovev_free_bdy.json index 3f51d0a93..087495cb2 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/mercier/mercier_00032_000000_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/mercier/mercier_00032_000000_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:599198deae6b9899e406a6e329838d2f157090f801ecc85ef18ddeb528b0b9dd -size 93959 +oid sha256:daace043e37ffb5b146606fa9f2994fd31545bdb8eaf7747257cf2759de9c486 +size 94008 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/metric/metric_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/metric/metric_00032_000001_01.solovev_free_bdy.json index 10f83b0e9..dedbeef9c 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/metric/metric_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/metric/metric_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:66378d55f24b481004fe79625318d7ef9b21c820251a037ec8204f943104140e -size 79850 +oid sha256:b02a1b199f0707b646fa328c789c8e9ea16a6e04b950ea1a76a54b4526462f03 +size 79857 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/metric/metric_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/metric/metric_00032_000002_01.solovev_free_bdy.json index 9db59fdeb..83b3dcb7b 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/metric/metric_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/metric/metric_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e26a74cb030f0272795ecbcb0b13f73d3f9f4f140d80ebece1554ed4f2d31faf -size 79850 +oid sha256:f3025556d02732341676ceb6d47bd467ca9e69d923c6e4d363e824cdff44f077 +size 79788 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/multigrid_result/multigrid_result_00016_000417_00.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/multigrid_result/multigrid_result_00016_000417_00.solovev_free_bdy.json new file mode 100644 index 000000000..440b2bf3e --- /dev/null +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/multigrid_result/multigrid_result_00016_000417_00.solovev_free_bdy.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aaeaf7cd2526230837a692e7cbee9a88b8620886d5880b44e9836daf497731c6 +size 55989 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/multigrid_result/multigrid_result_00016_000420_00.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/multigrid_result/multigrid_result_00016_000420_00.solovev_free_bdy.json deleted file mode 100644 index 229828727..000000000 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/multigrid_result/multigrid_result_00016_000420_00.solovev_free_bdy.json +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2b2319686df5c402841e4cfa2df0f3f74c2b0124f0cb1024a77bef75f2bfae35 -size 56011 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/multigrid_result/multigrid_result_00032_000774_00.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/multigrid_result/multigrid_result_00032_000774_00.solovev_free_bdy.json deleted file mode 100644 index cadb1d314..000000000 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/multigrid_result/multigrid_result_00032_000774_00.solovev_free_bdy.json +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ac4858d433f4f5fe5997aac766aa0c5479e74e07bb6f34b89ca647906c3dd622 -size 112807 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/multigrid_result/multigrid_result_00032_000808_00.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/multigrid_result/multigrid_result_00032_000808_00.solovev_free_bdy.json new file mode 100644 index 000000000..30d2ac909 --- /dev/null +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/multigrid_result/multigrid_result_00032_000808_00.solovev_free_bdy.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:458ae088d6b4a59013699e6dae2bdd183978d0b2201d499665b8a856eb15a6c1 +size 112820 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/phys_gc/phys_gc_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/phys_gc/phys_gc_00032_000001_01.solovev_free_bdy.json index 489adb98f..ec5019de5 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/phys_gc/phys_gc_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/phys_gc/phys_gc_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8cf0bf64eceacd6701694c8803e22a8baf0c62b305ec9e98a1f54393d529bcd4 -size 54843 +oid sha256:63bd7f74c2b4ee9951b3895635d28588ed03f6a68a9b79701de6c00180884963 +size 54820 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/phys_gc/phys_gc_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/phys_gc/phys_gc_00032_000002_01.solovev_free_bdy.json index 0d2e6bcf9..7175e33f4 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/phys_gc/phys_gc_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/phys_gc/phys_gc_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8825b7878eed286a77575812ae6e7b09945597a42bdb12159d2b2e275e9a7022 -size 54800 +oid sha256:e2197cac91b967fab3cf3eb9a8d02ea75a281694a76af90d172e00b6c49903b2 +size 54816 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/precondn/precondn_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/precondn/precondn_00032_000001_01.solovev_free_bdy.json index ae3b1e811..ce6e1df85 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/precondn/precondn_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/precondn/precondn_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:765baf67474b8accdb70fbd528b0942237676c4b9a1719f0f9abf5e9e2a28683 -size 23192 +oid sha256:0c257603f342cc99f976a23ef2154f1bcd20b5c67d771c2c47a8a1a1308326fb +size 23181 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/printout/printout_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/printout/printout_00032_000001_01.solovev_free_bdy.json index 8537f6b71..1c050e5f9 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/printout/printout_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/printout/printout_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d4639d3dcb1e5ee57793cf3c45e448bb24238ea8b0659f4226f1146a7eee3daf -size 44454 +oid sha256:3b6a3075a8e07a3d1e1e0416ce51ba9795025256481e85851503442f32329553 +size 44455 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/rbsq/rbsq_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/rbsq/rbsq_00032_000002_01.solovev_free_bdy.json index 999cd9795..1cd1b1745 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/rbsq/rbsq_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/rbsq/rbsq_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2dae70e79c86e0b0df109c8fdfea4630c405e450d14de1a119e672f5b8c98233 -size 547 +oid sha256:5bd4d3f294ef9f17e03f81aeadb7c444102056ff47710ce1bc52c05d8bc9753f +size 552 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scale_m1/scale_m1_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scale_m1/scale_m1_00032_000001_01.solovev_free_bdy.json index 4eafd1f0d..fe900b279 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scale_m1/scale_m1_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scale_m1/scale_m1_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0df3d2db93caaff7b36d0b1c7012b18a68c8790363d81ba70bb588a8235b51fc -size 36695 +oid sha256:4fbae0e7692052bba3fa475b4770c6ab8daf36bf764053ad9c2d9d81ad869047 +size 36685 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scale_m1/scale_m1_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scale_m1/scale_m1_00032_000002_01.solovev_free_bdy.json index 02c811b81..ac0c67e5e 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scale_m1/scale_m1_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scale_m1/scale_m1_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:33c026068e2916d7f52f27497ae42b61f7c7e2144616418aa49a15011ff81ba3 -size 36675 +oid sha256:fa574d69bddac7d550c315ed59a9353d26712a55f3e495b4a595181843527c3a +size 36684 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_R/scalfor_R_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_R/scalfor_R_00032_000001_01.solovev_free_bdy.json index e2a928ff7..f24322fa7 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_R/scalfor_R_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_R/scalfor_R_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:64c1d8527a530cace3a3bfed24f37fe6f100b69400756a4a985835c62b4c9ccf -size 45132 +oid sha256:4c982fe42b1e809c2ead21818b6f357c989ca1932a46bbb6824a7161fbbb5674 +size 45155 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_R/scalfor_R_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_R/scalfor_R_00032_000002_01.solovev_free_bdy.json index e2a928ff7..f24322fa7 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_R/scalfor_R_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_R/scalfor_R_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:64c1d8527a530cace3a3bfed24f37fe6f100b69400756a4a985835c62b4c9ccf -size 45132 +oid sha256:4c982fe42b1e809c2ead21818b6f357c989ca1932a46bbb6824a7161fbbb5674 +size 45155 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_Z/scalfor_Z_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_Z/scalfor_Z_00032_000001_01.solovev_free_bdy.json index 39433ba1e..055ddcfc0 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_Z/scalfor_Z_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_Z/scalfor_Z_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d08062b067bebc783517fe984dd8938536812b5a682c813cc4df2a15d3fd0487 -size 45245 +oid sha256:3010557854d8ea85bba4cd737dbc6602e7588467e0dda09a874a60f4c6e33059 +size 45287 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_Z/scalfor_Z_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_Z/scalfor_Z_00032_000002_01.solovev_free_bdy.json index 39433ba1e..055ddcfc0 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_Z/scalfor_Z_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_Z/scalfor_Z_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d08062b067bebc783517fe984dd8938536812b5a682c813cc4df2a15d3fd0487 -size 45245 +oid sha256:3010557854d8ea85bba4cd737dbc6602e7588467e0dda09a874a60f4c6e33059 +size 45287 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_out/scalfor_out_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_out/scalfor_out_00032_000001_01.solovev_free_bdy.json index 9c2c79edb..a2545ce62 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_out/scalfor_out_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_out/scalfor_out_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2dcf4fa953adc80616e9a4be5cd654b0f05676a8ffff8d8f7d4cea90d7668eb4 -size 77981 +oid sha256:80ff6ff1cfa5e59563aa37a9f2634498835d2b0aad668057789d808317edc052 +size 78010 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_out/scalfor_out_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_out/scalfor_out_00032_000002_01.solovev_free_bdy.json index d319eda64..ed53ff7fc 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_out/scalfor_out_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/scalfor_out/scalfor_out_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7a5ee72be37aa5fa578e76ef57347734cadcf99b42bb0c1d68f9da6aa650fce4 -size 78014 +oid sha256:5236a64c3756ca35b4567237f28a03a8b3354657c6064cd31e82ae33c61ca6da +size 78005 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_axis/threed1_axis_00032_000000_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_axis/threed1_axis_00032_000000_01.solovev_free_bdy.json index bc2bd36c6..b4f677a97 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_axis/threed1_axis_00032_000000_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_axis/threed1_axis_00032_000000_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d1ece37c94e0d5b2b398957fefcde314c896ff489c27522e0df9c168a5847da3 +oid sha256:1d858d09a29e0b241d2262e50997fcc92908fcd65cd484c793a12912a9584cd2 size 166 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_beta/threed1_beta_00032_000000_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_beta/threed1_beta_00032_000000_01.solovev_free_bdy.json index fac86cc8b..3204d8206 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_beta/threed1_beta_00032_000000_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_beta/threed1_beta_00032_000000_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:601c91c78787da6d5056f8f4d1e9ada0e7197f8b5258197c07578b570d3567cd -size 223 +oid sha256:9a4b94d1667a8e2eeeb5f5604f4f82f24653e776c8479499ad20f312949f1441 +size 225 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_firstTable/threed1_firstTable_00032_000000_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_firstTable/threed1_firstTable_00032_000000_01.solovev_free_bdy.json index 247ff418b..cb2e345fd 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_firstTable/threed1_firstTable_00032_000000_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_firstTable/threed1_firstTable_00032_000000_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a4070a511a83a711d7a460a2aec1ce852ce3cc0b86d0e634e09225f27bdcd92f -size 16912 +oid sha256:f04a18a3a9d7f039a07dd21ab621d23f67f04389612ddc7100a7f17738e22cac +size 16864 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_geomag/threed1_geomag_00032_000000_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_geomag/threed1_geomag_00032_000000_01.solovev_free_bdy.json index fd87cceae..8b4d84015 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_geomag/threed1_geomag_00032_000000_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_geomag/threed1_geomag_00032_000000_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1d563229e7c245af4c335100e72de2990ad9193fd78ac17ed1da5747cf4a81e5 -size 12763 +oid sha256:c495172643d774ec80a05e52b7dfa621289bf92920eebb2b664c959aebfe63d6 +size 12800 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_shafrint/threed1_shafrint_00032_000000_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_shafrint/threed1_shafrint_00032_000000_01.solovev_free_bdy.json index 98fb77f87..7e2e8a745 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_shafrint/threed1_shafrint_00032_000000_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_shafrint/threed1_shafrint_00032_000000_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:df8bbf31f0953bcc14914d07aad7b72b10e677c6ce3f9b9a67f72d321a53dd00 -size 505 +oid sha256:28f5560dcbcb030c2945bf2b1d8d10a0c0407f1b34606c4c0008b835fe2c38a2 +size 508 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_volquant/threed1_volquant_00032_000000_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_volquant/threed1_volquant_00032_000000_01.solovev_free_bdy.json index be92e49ca..a1fc79c7b 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_volquant/threed1_volquant_00032_000000_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/threed1_volquant/threed1_volquant_00032_000000_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:14976acff4bdc5271c7b34252521d11375b714ab817f51689946a0ecbe6b6112 -size 352 +oid sha256:d8c1de9dd44537f6d26240b38cf6f7795627b285be75856715a2575679df0f90 +size 354 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/tomnsps/tomnsps_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/tomnsps/tomnsps_00032_000001_01.solovev_free_bdy.json index b19ce3e4f..8b0646c54 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/tomnsps/tomnsps_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/tomnsps/tomnsps_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4f9935ae44aba54901a91a7027a61f182235af6aa7744acc298a3f1f3a758c74 -size 48689 +oid sha256:33f8cbd9509272a9a4b92a922c7502dd3d05481d348364764f2f09076981214a +size 48670 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/tomnsps/tomnsps_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/tomnsps/tomnsps_00032_000002_01.solovev_free_bdy.json index e8b012ad7..ab16366c1 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/tomnsps/tomnsps_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/tomnsps/tomnsps_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bc4d3609e8810498456492b9412268b754da0d4ce87b724c56226e36422fa246 -size 48635 +oid sha256:a7c1bedda1e45bba3ab284847036926b4035f598c3aff04eec149284d3fd8019 +size 48652 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/totzsp_input/totzsp_input_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/totzsp_input/totzsp_input_00032_000001_01.solovev_free_bdy.json index b22e84ed3..0bbda99c5 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/totzsp_input/totzsp_input_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/totzsp_input/totzsp_input_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5d82b040bcd8c1b023d479f198944a5fa65da73ca4f7f4d568727e2a6f74476f -size 60371 +oid sha256:32b073ada2bb45578c0dd0a4f5713468347a9da758005bcdb7a716b5d1b88c2b +size 60377 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/totzsp_input/totzsp_input_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/totzsp_input/totzsp_input_00032_000002_01.solovev_free_bdy.json index 4752e142a..2d84c182c 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/totzsp_input/totzsp_input_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/totzsp_input/totzsp_input_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:047b69e24076b2e07a6d2eb24e8d51ce958adb487d9b955ad2cdee464f5ceb97 -size 60372 +oid sha256:09b9c8237348e4f52916769907b10182e7bf348080237726f03870b4d567df46 +size 60366 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_analyt/vac1n_analyt_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_analyt/vac1n_analyt_00032_000002_01.solovev_free_bdy.json index 838c5f2b3..227db123d 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_analyt/vac1n_analyt_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_analyt/vac1n_analyt_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:965898c20ca7b531a837aaeb31a868a84df5b4f908ee2f9b39018a08d15a429c -size 19092 +oid sha256:e213e93bbcf4d3f386c8b507a115a488120a0d9b9e239beff21b3ee621f057c9 +size 19098 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_bextern/vac1n_bextern_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_bextern/vac1n_bextern_00032_000002_01.solovev_free_bdy.json index 25e889090..9e2fc8aa3 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_bextern/vac1n_bextern_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_bextern/vac1n_bextern_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e6856e2102b8ac533db5194ebc5e41b219b2471b0eafceacb2670d960b761c3f -size 11213 +oid sha256:317fb3b20d914fbccb55aa2621a8e54d7aaf225bc85889a0717120d466fab45b +size 11219 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_bsqvac/vac1n_bsqvac_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_bsqvac/vac1n_bsqvac_00032_000002_01.solovev_free_bdy.json index ca5857daa..5a364208f 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_bsqvac/vac1n_bsqvac_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_bsqvac/vac1n_bsqvac_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6dedae285b954dbbec612d42cbae480b55df0680688a274e175cbb884ed13a39 -size 4835 +oid sha256:a0ce4069576b662e06c41809ee1017d7fb81cb39b886ba418628a12c4b0501ef +size 4830 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_solver/vac1n_solver_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_solver/vac1n_solver_00032_000002_01.solovev_free_bdy.json index a915caf2f..0df1dcb1c 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_solver/vac1n_solver_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_solver/vac1n_solver_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:663da64185fccdf9cf977c2a81ccafe6e83c786ce414ae171f43bc4388b2637f -size 7328 +oid sha256:1060e381b7bcb8558b291fff98bb6efba46704652bf15e4da449c141631853db +size 7344 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_surface/vac1n_surface_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_surface/vac1n_surface_00032_000002_01.solovev_free_bdy.json index 147c6b4ba..c3631d6ca 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_surface/vac1n_surface_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_surface/vac1n_surface_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4e4f5d62bb74bbc68d2b7b91bc2041bb65a14aaa6953337062db4a897a134c23 -size 13376 +oid sha256:2650b18b469dcee75530142b33faaabb7fb914e6816d978c8c4972a0455bc481 +size 13356 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_vacuum/vac1n_vacuum_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_vacuum/vac1n_vacuum_00032_000002_01.solovev_free_bdy.json index 9b6d4792a..c26c87e3d 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_vacuum/vac1n_vacuum_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/vac1n_vacuum/vac1n_vacuum_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4d4c8d61ad7f13c3a06d579de28254c7e5cba98412f8d8cd48586f0c591b8c7d -size 2001 +oid sha256:e643ac7c7c88ceab2355574d1bce475052e7eef173aa914c6c1791dd03942e3b +size 1997 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/volume/volume_00032_000001_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/volume/volume_00032_000001_01.solovev_free_bdy.json index d411e49f3..19563179f 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/volume/volume_00032_000001_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/volume/volume_00032_000001_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b970e22f8e2161bbdc0faba01d5a625a3ba8088c69a706fb57d79497732e8d3c -size 936 +oid sha256:00c5b0abb865f686c237ebd625d8bfa03d07da00fd3d1e0c283f74c4f6c16843 +size 931 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/volume/volume_00032_000002_01.solovev_free_bdy.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/volume/volume_00032_000002_01.solovev_free_bdy.json index 19bbba3f4..ecec28067 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/volume/volume_00032_000002_01.solovev_free_bdy.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/solovev_free_bdy/volume/volume_00032_000002_01.solovev_free_bdy.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2e8f300309104b6c1f7e2398e7ad4011f989e239a71fd9ace06576954ea9c779 -size 926 +oid sha256:3a75b2a97083ac31d9f1ef21c172a175635af530f1e8607ba28d8eba2d99cc02 +size 931 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/wout_cth_like_free_bdy.nc b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/wout_cth_like_free_bdy.nc index c69ce7549..43cc49400 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/wout_cth_like_free_bdy.nc +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/wout_cth_like_free_bdy.nc @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:107d7f75a3f2559fdd5b4936108dd535e28cfb2c84aff9bcbe346ea23990eef9 +oid sha256:3b00b1d0682a4a69a11c899c773d04bdb89fca2945a335bdcc30551faeef36c9 size 420452 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/ideal_mhd_model/ideal_mhd_model_test.cc b/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/ideal_mhd_model/ideal_mhd_model_test.cc index 77b3b3c3b..4ce0a4bc6 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/ideal_mhd_model/ideal_mhd_model_test.cc +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/ideal_mhd_model/ideal_mhd_model_test.cc @@ -507,9 +507,9 @@ TEST_P(FourierGeometryToStartWithTest, CheckFourierGeometryToStartWith) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -589,9 +589,9 @@ TEST_P(InverseFourierTransformGeometryTest, absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -751,9 +751,9 @@ TEST_P(JacobianTest, CheckJacobian) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -841,9 +841,9 @@ TEST_P(MetricTest, CheckMetric) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -928,9 +928,9 @@ TEST_P(VolumeTest, CheckVolume) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -997,9 +997,9 @@ TEST_P(ContravariantMagneticFieldTest, CheckContravariantMagneticField) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -1135,9 +1135,9 @@ TEST_P(CovariantMagneticFieldTest, CheckCovariantMagneticField) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -1210,9 +1210,9 @@ TEST_P(TotalPressureAndEnergiesTest, CheckTotalPressureAndEnergies) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -1292,9 +1292,9 @@ TEST_P(RadialForceBalanceTest, CheckRadialForceBalance) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -1383,9 +1383,9 @@ TEST_P(HybridLambdaForceTest, CheckHybridLambdaForce) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -1865,9 +1865,9 @@ TEST_P(RBsqTest, CheckRBsq) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -1930,9 +1930,9 @@ TEST_P(AliasTest, CheckAlias) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -2051,9 +2051,9 @@ TEST_P(RealspaceForcesTest, CheckRealspaceForces) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -2160,9 +2160,9 @@ TEST_P(ForwardTransformForcesTest, CheckForwardTransformForces) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -2287,9 +2287,9 @@ TEST_P(PhysicalForcesTest, CheckPhysicalForces) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -2373,9 +2373,9 @@ TEST_P(InvariantResidualsTest, CheckInvariantResiduals) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -2436,9 +2436,9 @@ TEST_P(ApplyM1PreconditionerTest, CheckApplyM1Preconditioner) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -2623,9 +2623,9 @@ TEST_P(ApplyPreconditionerTest, CheckApplyPreconditioner) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -2800,9 +2800,9 @@ TEST_P(PreconditionedResidualsTest, CheckPreconditionedResiduals) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/output_quantities/output_quantities_test.cc b/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/output_quantities/output_quantities_test.cc index 814af5205..4251c09a4 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/output_quantities/output_quantities_test.cc +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/output_quantities/output_quantities_test.cc @@ -63,9 +63,9 @@ TEST_P(GatherDataFromThreadsTest, CheckGatherDataFromThreads) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const Sizes& s = vmec.s_; @@ -126,9 +126,9 @@ TEST_P(GatherDataFromThreadsTest, CheckMatrixElementOrder) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const Sizes& s = vmec.s_; @@ -188,9 +188,9 @@ TEST_P(BSSRoutineOutputsTest, CheckBSSRoutineOutputs) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const Sizes& s = vmec.s_; @@ -280,9 +280,9 @@ TEST_P(LowpassFilterBSubsSTest, CheckLowpassFilterBSubsS) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const Sizes& s = vmec.s_; @@ -374,9 +374,9 @@ TEST_P(ExtrapolateBSubsSTest, CheckExtrapolateBSubsS) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const Sizes& s = vmec.s_; @@ -438,9 +438,9 @@ TEST_P(JxBOutputContentsTest, CheckJxBOutputContents) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const Sizes& s = vmec.s_; @@ -563,9 +563,9 @@ TEST_P(MercierStabilityTest, CheckMercierStability) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const Sizes& s = vmec.s_; @@ -775,9 +775,9 @@ TEST_P(Threed1FirstTableTest, CheckThreed1FirstTable) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const FlowControl& fc = vmec.fc_; @@ -905,9 +905,9 @@ TEST_P(Threed1GeometricMagneticQuantitiesTest, absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const Sizes& s = vmec.s_; @@ -1125,9 +1125,9 @@ TEST_P(Threed1VolumetricsTest, CheckThreed1Volumetrics) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); @@ -1203,9 +1203,9 @@ TEST_P(Threed1AxisTest, CheckThreed1Axis) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const Sizes& s = vmec.s_; @@ -1267,9 +1267,9 @@ TEST_P(Threed1BetasTest, CheckThreed1Betas) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const FlowControl& fc = vmec.fc_; @@ -1330,9 +1330,9 @@ TEST_P(Threed1ShafranovIntegralsTest, CheckThreed1ShafranovIntegrals) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const FlowControl& fc = vmec.fc_; @@ -1485,9 +1485,9 @@ TEST(TestOutputQuantities, CheckVacuumPotential) { const absl::StatusOr indata_json = ReadFile(absl::StrFormat("vmecpp/test_data/%s.json", identifier)); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = MGridInterpolation::kLinear; ASSERT_TRUE(vmec_indata->lfreeb); Vmec vmec(*vmec_indata); @@ -1554,9 +1554,8 @@ TEST(Threed1FreeBoundary, MatchesEducationalVmec) { const absl::StatusOr indata_json = ReadFile(absl::StrFormat("vmecpp/test_data/%s.json", identifier)); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr indata = VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(indata.ok()); - indata->mgrid_interpolation = MGridInterpolation::kLinear; ASSERT_TRUE(indata->lfreeb); auto maybe_vmec = Vmec::FromIndata(*indata); diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/vmec/vmec_test.cc b/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/vmec/vmec_test.cc index 0dba9f734..c3fcae8ce 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/vmec/vmec_test.cc +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/vmec/vmec/vmec_test.cc @@ -189,9 +189,9 @@ TEST_P(EvolveTest, CheckEvolve) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = vmecpp::MGridInterpolation::kLinear; for (int number_of_iterations : data_source_.iter2_to_test) { Vmec vmec(*vmec_indata); @@ -311,9 +311,9 @@ TEST_P(MultigridResultTest, CheckMultigridResult) { absl::StatusOr indata_json = ReadFile(filename); ASSERT_TRUE(indata_json.ok()); - absl::StatusOr vmec_indata = VmecINDATA::FromJson(*indata_json); + const absl::StatusOr vmec_indata = + VmecINDATA::FromJson(*indata_json); ASSERT_TRUE(vmec_indata.ok()); - vmec_indata->mgrid_interpolation = vmecpp::MGridInterpolation::kLinear; Vmec vmec(*vmec_indata); const Sizes& s = vmec.s_; diff --git a/tests/test_free_boundary.py b/tests/test_free_boundary.py index 2ebe989ab..a03119fa9 100644 --- a/tests/test_free_boundary.py +++ b/tests/test_free_boundary.py @@ -40,10 +40,8 @@ def test_run_free_boundary_from_response_table(): TEST_DATA_DIR / "coils.cth_like", makegrid_params ) vmec_input = vmecpp.VmecInput.from_file(TEST_DATA_DIR / "cth_like_free_bdy.json") - # This numerical reference uses historical bilinear interpolation. - vmec_input.mgrid_interpolation = vmecpp.MGridInterpolation.LINEAR vmec_output = vmecpp.run(vmec_input, response, verbose=False) - assert vmec_output.wout.volume == pytest.approx(0.307512, 1e-5, 1e-5) + assert vmec_output.wout.volume == pytest.approx(0.307258, 1e-5, 1e-5) # Test hot-restart functionality. w/o perturbation, should converge immediately hot_restart_output = vmecpp.run( diff --git a/tests/test_init.py b/tests/test_init.py index 50a734af7..77fafb491 100644 --- a/tests/test_init.py +++ b/tests/test_init.py @@ -297,7 +297,6 @@ def test_vmecwout_io(cma_output: vmecpp.VmecOutput): def test_against_reference_wout(indata_file, reference_wout_file, path_type): indata = vmecpp.VmecInput.from_file(TEST_DATA_DIR / indata_file) if indata.lfreeb: - indata.mgrid_interpolation = vmecpp.MGridInterpolation.LINEAR indata.mgrid_file = str( REPO_ROOT / "src" / "vmecpp" / "cpp" / indata.mgrid_file ) diff --git a/tests/test_mgrid_interpolation.py b/tests/test_mgrid_interpolation.py index a6c12827a..a88726dd5 100644 --- a/tests/test_mgrid_interpolation.py +++ b/tests/test_mgrid_interpolation.py @@ -1,6 +1,6 @@ # SPDX-FileCopyrightText: 2026 Proxima Fusion GmbH # SPDX-License-Identifier: MIT -"""Vacuum interpolation selection, compatibility and equilibrium accuracy.""" +"""Equilibrium convergence under vacuum field table refinement.""" from pathlib import Path @@ -12,37 +12,6 @@ DATA = Path(__file__).parents[1] / "src/vmecpp/cpp/vmecpp/test_data" -@pytest.mark.parametrize("scheme", list(vmecpp.MGridInterpolation)) -def test_interpolation_round_trip(scheme, tmp_path): - inputs = vmecpp.VmecInput.from_file(DATA / "cth_like_free_bdy.json") - inputs.mgrid_interpolation = scheme - cpp = inputs._to_cpp_vmecindata() - restored = vmecpp.VmecInput._from_cpp_vmecindata(cpp) - assert restored.mgrid_interpolation == scheme - path = tmp_path / "input.json" - inputs.save(path) - assert vmecpp.VmecInput.from_file(path).mgrid_interpolation == scheme - - -def test_interpolation_default_and_validation(): - assert vmecpp.VmecInput().mgrid_interpolation == vmecpp.MGridInterpolation.CUBIC - assert ( - vmecpp.VmecInput.from_file(DATA / "cth_like_free_bdy.json").mgrid_interpolation - == vmecpp.MGridInterpolation.CUBIC - ) - with pytest.raises(ValueError, match="mgrid_interpolation"): - vmecpp.VmecInput.model_validate({"mgrid_interpolation": "nearest"}) - - -def test_historical_output_interpolation(): - inputs = vmecpp.VmecInput.from_file(DATA / "solovev.json") - saved = vmecpp.run(inputs, max_threads=2, verbose=False).model_dump(mode="json") - del saved["input"]["mgrid_interpolation"] - restored = vmecpp.VmecOutput.model_validate(saved) - assert restored.input.mgrid_interpolation == vmecpp.MGridInterpolation.LINEAR - assert "mgrid_interpolation" not in saved["input"] - - @pytest.mark.parametrize("family", ["cth_like", "solovev"]) def test_cubic_reduces_equilibrium_field_table_error(family): parameters = vmecpp.MakegridParameters.from_file( @@ -57,27 +26,27 @@ def test_cubic_reduces_equilibrium_field_table_error(family): inputs.ftol_array[-1] = 1e-12 inputs.niter_array[:] = 12000 reference = vmecpp.run(inputs, field, max_threads=2, verbose=False).wout - coarse_parameters = parameters.model_copy(deep=True) - coarse_parameters.number_of_r_grid_points = 33 - coarse_parameters.number_of_z_grid_points = 33 - arrays = {} - for component in ["b_r", "b_p", "b_z"]: - values = getattr(field, component) - grid = values.reshape(-1, parameters.number_of_phi_grid_points, 129, 129) - arrays[component] = np.ascontiguousarray(grid[:, :, ::4, ::4]).reshape( - values.shape[0], -1 + errors = [] + for stride in [4, 2]: + coarse_parameters = parameters.model_copy(deep=True) + coarse_parameters.number_of_r_grid_points = 128 // stride + 1 + coarse_parameters.number_of_z_grid_points = 128 // stride + 1 + arrays = {} + for component in ["b_r", "b_p", "b_z"]: + values = getattr(field, component) + grid = values.reshape(-1, parameters.number_of_phi_grid_points, 129, 129) + arrays[component] = np.ascontiguousarray( + grid[:, :, ::stride, ::stride] + ).reshape(values.shape[0], -1) + coarse = vmecpp.MagneticFieldResponseTable( + parameters=coarse_parameters, **arrays ) - coarse = vmecpp.MagneticFieldResponseTable(parameters=coarse_parameters, **arrays) - errors = {} - for scheme in vmecpp.MGridInterpolation: - inputs.mgrid_interpolation = scheme output = vmecpp.run(inputs, coarse, max_threads=2, verbose=False).wout assert max(output.fsqr, output.fsqz, output.fsql) <= inputs.ftol_array[-1] - errors[scheme] = np.linalg.norm(output.rmnc - reference.rmnc) + np.linalg.norm( - output.zmns - reference.zmns + errors.append( + np.linalg.norm(output.rmnc - reference.rmnc) + + np.linalg.norm(output.zmns - reference.zmns) ) - assert errors[vmecpp.MGridInterpolation.LINEAR] > 1e-5 - assert ( - errors[vmecpp.MGridInterpolation.CUBIC] - < 0.1 * errors[vmecpp.MGridInterpolation.LINEAR] - ) + # Halving the spacing gives fourth-order field interpolation. Check that + # its effect on the converged Fourier geometry improves faster than linear. + assert errors[1] < errors[0] / 4 From e47ab40b04a0734505bc4ba7e62060e93f496f63 Mon Sep 17 00:00:00 2001 From: Philipp Bogdan Date: Tue, 8 Sep 2026 08:43:23 +0100 Subject: [PATCH 4/4] Refresh new asymmetric vacuum references for cubic interpolation --- .../vac1n_analyt_00015_000053_01.cth_like_free_bdy_asym.json | 4 ++-- .../vac1n_analyt_00015_000054_01.cth_like_free_bdy_asym.json | 4 ++-- .../vac1n_fouri_00015_000053_01.cth_like_free_bdy_asym.json | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy_asym/vac1n_analyt/vac1n_analyt_00015_000053_01.cth_like_free_bdy_asym.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy_asym/vac1n_analyt/vac1n_analyt_00015_000053_01.cth_like_free_bdy_asym.json index 8d5475fb2..c96f435c6 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy_asym/vac1n_analyt/vac1n_analyt_00015_000053_01.cth_like_free_bdy_asym.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy_asym/vac1n_analyt/vac1n_analyt_00015_000053_01.cth_like_free_bdy_asym.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9080e29fb6db7462bbf5141a382315df4c884f54881fe78f704b9641c2d99a28 -size 2249119 +oid sha256:a10cd44844593ddebded168af523e612dcfc08b4a4b7da883e791c1ea6daec84 +size 4066459 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy_asym/vac1n_analyt/vac1n_analyt_00015_000054_01.cth_like_free_bdy_asym.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy_asym/vac1n_analyt/vac1n_analyt_00015_000054_01.cth_like_free_bdy_asym.json index 3b056d0af..aa2d6e3de 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy_asym/vac1n_analyt/vac1n_analyt_00015_000054_01.cth_like_free_bdy_asym.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy_asym/vac1n_analyt/vac1n_analyt_00015_000054_01.cth_like_free_bdy_asym.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3696baeb42d0678100ec3dfa48f0ba0c78555e00d7a0fa1989a13cb66f14b6e5 -size 281811 +oid sha256:94970f0866b313bac1e570a4fe37501979b6e56b0f724e0ec18bb5236d61b1c1 +size 490385 diff --git a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy_asym/vac1n_fouri/vac1n_fouri_00015_000053_01.cth_like_free_bdy_asym.json b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy_asym/vac1n_fouri/vac1n_fouri_00015_000053_01.cth_like_free_bdy_asym.json index 4189fd1fe..cf7ad355d 100644 --- a/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy_asym/vac1n_fouri/vac1n_fouri_00015_000053_01.cth_like_free_bdy_asym.json +++ b/src/vmecpp/cpp/vmecpp_large_cpp_tests/test_data/cth_like_free_bdy_asym/vac1n_fouri/vac1n_fouri_00015_000053_01.cth_like_free_bdy_asym.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b07f5d1d68add4ee8fa136f93591dea82aea7e2d2a0caddcf7a73f1c25d86106 -size 600039 +oid sha256:5bf41796767b06e3a11ca5a39466ee3395f5609b03d39dc8c0fa4c28fd945018 +size 1094813

U)1tF+@%fZHI4z!d*%ZACym46>-_+IBHLZt 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