Quadratic Flux Minimizing Surfaces

Quadratic-Flux-Minimizing (QFM) surfaces are a useful tool in vacuum stellarator optimization, where, given a coil magnetic field, one may extract a surface in space which minimizes the quadratic magnetic flux passing through it, that is,

\[\begin{equation} S = \arg\min_S \int_S |B_n|^2 dS \end{equation}\]

Where \(B_n = \mathbf{B} \cdot \mathbf{n}\) is the normal magnetic field on the surface \(S\), and the optimization is understood to be done under the constraint of the surface enclosing some amount of net toroidal magnetic flux. The surface \(S\) itself is described typically with a double Fourier series in the poloidal and toroidal angles (See the docs on basis functions for more details) describing the cylindrical \(R\) and \(Z\) coordinates of the surface, so the optimization is done by varying the Fourier coefficients describing the surface (or potentially, the magnetic field’s degrees of freedom as well). This short notebook will give an example of using QFM surfaces to extrace a surface from a magnetic field, and then solving the interior equilibrum with DESC and comparing it to the original magnetic field.

[1]:
import sys
import os

sys.path.insert(0, os.path.abspath("."))
sys.path.append(os.path.abspath("../../../"))

If you have access to a GPU, uncomment the following two lines before any DESC or JAX related imports. You should see about an order of magnitude speed improvement with only these two lines of code!

[2]:
# from desc import set_device
# set_device("gpu")

As mentioned in DESC Documentation on performance tips, one can use compilation cache directory to reduce the compilation overhead time. Note: One needs to create jax-caches folder manually.

[ ]:
# import jax

# jax.config.update("jax_compilation_cache_dir", "../jax-caches")
# jax.config.update("jax_persistent_cache_min_entry_size_bytes", -1)
# jax.config.update("jax_persistent_cache_min_compile_time_secs", 0)
[3]:
from desc.objectives import (
    SurfaceQuadraticFlux,
    ToroidalFlux,
    ObjectiveFunction,
)
from desc.magnetic_fields import SplineMagneticField
from desc.geometry import FourierRZToroidalSurface
from desc.optimize import Optimizer
from desc.grid import LinearGrid
from desc.plotting import plot_2d, poincare_plot, plot_boundary, plot_surfaces
import numpy as np
An NVIDIA GPU may be present on this machine, but a CUDA-enabled jaxlib is not installed. Falling back to cpu.
DESC version 0.13.0+702.ge6b8a02dc.dirty,using JAX backend, jax version=0.4.33, jaxlib version=0.4.33, dtype=float64
Using device: CPU, with 31.17 GB available memory

First, we will load a magnetic field from an mgrid file (the same as is used in the stellarator free boundary notebook)

[4]:
extcur = [4700.0, 1000.0]
field = SplineMagneticField.from_mgrid(
    "../../../tests/inputs/mgrid_test.nc", extcur=extcur
)

Our initial surface is a circular surface, which we see is not well-approximating any flux surfaces in this vacuum field.

[5]:
surface0 = FourierRZToroidalSurface(
    R_lmn=[0.7, 0.1],
    modes_R=[[0, 0], [1, 0]],
    Z_lmn=[-0.1],
    modes_Z=[[-1, 0]],
    sym=True,
    NFP=field.NFP,
    M=6,
    N=6,
)
fig, ax = plot_surfaces(surface0, rho=1.0, theta=0)
poincare_plot(
    field,
    R0=np.linspace(0.7, 0.8, 10),
    Z0=np.zeros(10),
    ax=ax,
    NFP=field.NFP,
    ntransit=50,
);
../../_images/notebooks_tutorials_QFM_surface_10_0.png

Let’s setup the optimization problem to find the QFM surface.

[6]:
# SurfaceQuadraticFlux objective is the one to use when trying to minimize quadratic flux for a surface
qflux = SurfaceQuadraticFlux(
    surface0,
    field,
    eval_grid=LinearGrid(M=2 * surface0.M, N=2 * surface0.M, NFP=surface0.NFP),
    field_fixed=True,  # field is not being optimized
    bs_chunk_size=10,
)
# Must include a ToroidalFlux or a Volume target to ensure we don't get a trivial solution of the surface collapsing to a point
target_psi = -0.035
tflux = ToroidalFlux(
    surface0,
    field,
    target=target_psi,  # the same toroidal flux as used in the free bdry eq
    eq_fixed=False,  # we will allow the thing passed in (QFM surface in this case) to vary
    field_fixed=True,  # field is not being optimized, so we fix it
)
obj = ObjectiveFunction(qflux)

opt = Optimizer("lsq-auglag")

(qfm_surf,), _ = opt.optimize(
    surface0,
    objective=obj,
    constraints=(tflux,),
    ftol=1e-5,
    maxiter=500,
    verbose=3,
    copy=True,
)
Building objective: Surface Quadratic Flux
Precomputing transforms
Timer: Precomputing transforms = 1.28 sec
Timer: Objective build = 1.30 sec
Building objective: toroidal-flux
Precomputing transforms
Timer: Precomputing transforms = 673 ms
Timer: Objective build = 1.63 sec
Number of parameters: 169
Number of objectives: 625
Number of equality constraints: 1
Number of inequality constraints: 0
Timer: Initializing the optimization = 3.02 sec

Starting optimization
Using method: lsq-auglag
   Iteration     Total nfev        Cost      Cost reduction    Step norm     Optimality    Constr viol.   Penalty param  max(|mltplr|)
       0              1          6.632e+01                                    9.991e+00      1.383e-02      1.000e+01      0.000e+00
       1              2          6.099e+01      5.329e+00      2.309e-03      9.376e+00      1.441e-02      1.000e+01      0.000e+00
       2              3          4.257e+01      1.843e+01      9.279e-03      7.151e+00      1.665e-02      1.000e+01      0.000e+00
       3              4          5.031e+00      3.754e+01      3.739e-02      1.582e+00      2.437e-02      1.000e+01      0.000e+00
       4              5          5.032e+00     -5.593e-04      1.384e-01      1.868e+00      2.530e-03      1.000e+01      0.000e+00
       5              6          1.301e-01      4.902e+00      2.761e-02      2.342e-01      1.653e-04      1.000e+01      0.000e+00
       6              8          3.489e-03      1.266e-01      8.836e-03      3.046e-02      8.797e-04      1.000e+01      0.000e+00
       7             10          6.393e-04      2.850e-03      3.736e-03      1.323e-02      1.053e-03      1.000e+01      0.000e+00
       8             12          3.011e-04      3.382e-04      3.605e-03      9.304e-03      7.633e-04      1.000e+01      0.000e+00
       9             13          1.259e-04      1.752e-04      3.131e-03      4.870e-03      3.205e-04      1.000e+01      0.000e+00
      10             15          2.756e-05      9.835e-05      6.664e-04      3.526e-04      2.356e-04      1.000e+01      2.356e-03
      11             17          2.609e-05      1.472e-06      8.462e-04      3.423e-04      7.418e-06      1.000e+01      2.356e-03
      12             19          2.486e-05      1.230e-06      6.017e-04      3.074e-04      5.537e-05      1.000e+01      2.356e-03
      13             21          2.382e-05      1.037e-06      6.531e-04      2.556e-04      7.293e-05      1.000e+01      2.356e-03
      14             23          2.298e-05      8.403e-07      6.647e-04      3.027e-04      8.195e-05      1.000e+01      2.356e-03
      15             25          2.221e-05      7.725e-07      6.710e-04      3.272e-04      8.953e-05      1.000e+01      2.356e-03
      16             27          2.160e-05      6.086e-07      7.265e-04      3.979e-04      9.670e-05      1.000e+01      2.356e-03
      17             28          2.109e-05      5.087e-07      7.709e-04      4.486e-04      1.033e-04      1.000e+01      2.356e-03
      18             29          2.059e-05      5.035e-07      7.631e-04      4.334e-04      1.090e-04      1.000e+01      2.356e-03
      19             30          2.009e-05      4.973e-07      7.334e-04      3.846e-04      1.140e-04      1.000e+01      2.356e-03
      20             31          1.959e-05      4.982e-07      6.979e-04      3.209e-04      1.182e-04      1.000e+01      2.356e-03
      21             32          1.910e-05      4.936e-07      6.665e-04      2.569e-04      1.219e-04      1.000e+01      2.356e-03
      22             33          1.864e-05      4.542e-07      6.539e-04      2.642e-04      1.253e-04      1.000e+01      2.356e-03
      23             34          1.826e-05      3.873e-07      6.632e-04      2.844e-04      1.288e-04      1.000e+01      2.356e-03
      24             35          1.792e-05      3.315e-07      6.758e-04      2.952e-04      1.323e-04      1.000e+01      2.356e-03
      25             36          1.763e-05      2.915e-07      6.806e-04      2.918e-04      1.358e-04      1.000e+01      2.356e-03
      26             37          1.737e-05      2.580e-07      6.816e-04      2.794e-04      1.392e-04      1.000e+01      2.356e-03
      27             38          1.714e-05      2.327e-07      6.830e-04      2.653e-04      1.425e-04      1.000e+01      2.356e-03
      28             39          1.692e-05      2.173e-07      6.857e-04      2.515e-04      1.455e-04      1.000e+01      2.356e-03
      29             40          1.671e-05      2.103e-07      6.885e-04      2.463e-04      1.483e-04      1.000e+01      2.356e-03
      30             41          1.644e-05      2.792e-07      1.710e-04      1.522e-05      1.493e-04      1.000e+01      8.624e-04
      31             42          1.636e-05      7.635e-08      7.517e-04      2.384e-04      8.010e-06      1.000e+01      8.624e-04
      32             43          1.607e-05      2.891e-07      1.714e-04      1.490e-05      5.003e-06      1.000e+01      8.624e-04
      33             45          1.602e-05      4.765e-08      1.724e-04      1.427e-05      5.063e-06      1.000e+01      8.624e-04
      34             47          1.598e-05      4.644e-08      1.729e-04      1.395e-05      5.526e-06      1.000e+01      8.624e-04
      35             49          1.593e-05      4.570e-08      1.733e-04      1.371e-05      6.047e-06      1.000e+01      8.624e-04
      36             51          1.589e-05      4.502e-08      1.737e-04      1.352e-05      6.579e-06      1.000e+01      8.624e-04
      37             53          1.584e-05      4.437e-08      1.741e-04      1.334e-05      7.112e-06      1.000e+01      8.624e-04
      38             55          1.580e-05      4.371e-08      1.745e-04      1.318e-05      7.629e-06      1.000e+01      8.624e-04
      39             57          1.575e-05      4.306e-08      1.749e-04      1.301e-05      8.139e-06      1.000e+01      8.624e-04
      40             59          1.571e-05      4.239e-08      1.753e-04      1.285e-05      8.644e-06      1.000e+01      8.624e-04
      41             61          1.567e-05      4.173e-08      1.757e-04      1.270e-05      9.145e-06      1.000e+01      8.624e-04
      42             63          1.563e-05      4.106e-08      1.762e-04      1.255e-05      9.639e-06      1.000e+01      8.624e-04
      43             65          1.559e-05      4.039e-08      1.766e-04      1.240e-05      1.012e-05      1.000e+01      8.624e-04
      44             67          1.555e-05      3.972e-08      1.771e-04      1.225e-05      1.061e-05      1.000e+01      8.624e-04
      45             69          1.551e-05      3.905e-08      1.776e-04      1.214e-05      1.109e-05      1.000e+01      8.624e-04
      46             71          1.547e-05      3.837e-08      1.781e-04      1.203e-05      1.158e-05      1.000e+01      8.624e-04
      47             73          1.543e-05      3.771e-08      1.786e-04      1.191e-05      1.204e-05      1.000e+01      8.624e-04
      48             75          1.540e-05      3.706e-08      1.790e-04      1.179e-05      1.249e-05      1.000e+01      8.624e-04
      49             77          1.536e-05      3.640e-08      1.795e-04      1.167e-05      1.295e-05      1.000e+01      8.624e-04
      50             79          1.532e-05      3.577e-08      1.801e-04      1.154e-05      1.340e-05      1.000e+01      8.624e-04
      51             81          1.529e-05      3.516e-08      1.806e-04      1.143e-05      1.385e-05      1.000e+01      8.624e-04
      52             83          1.525e-05      3.457e-08      1.813e-04      1.132e-05      1.430e-05      1.000e+01      8.624e-04
      53             85          1.522e-05      3.401e-08      1.819e-04      1.119e-05      1.474e-05      1.000e+01      8.624e-04
      54             87          1.519e-05      3.349e-08      1.826e-04      1.102e-05      1.515e-05      1.000e+01      8.624e-04
      55             89          1.515e-05      3.297e-08      1.833e-04      1.083e-05      1.554e-05      1.000e+01      8.624e-04
      56             91          1.512e-05      3.249e-08      1.841e-04      1.061e-05      1.592e-05      1.000e+01      8.624e-04
      57             93          1.509e-05      3.202e-08      1.849e-04      1.038e-05      1.630e-05      1.000e+01      8.624e-04
      58             95          1.506e-05      3.159e-08      1.856e-04      1.090e-05      1.666e-05      1.000e+01      8.624e-04
      59             97          1.503e-05      3.120e-08      1.865e-04      1.140e-05      1.702e-05      1.000e+01      8.624e-04
      60             99          1.500e-05      3.082e-08      1.873e-04      1.179e-05      1.737e-05      1.000e+01      8.624e-04
      61             101         1.497e-05      3.048e-08      1.881e-04      1.213e-05      1.772e-05      1.000e+01      8.624e-04
      62             103         1.494e-05      3.016e-08      1.890e-04      1.251e-05      1.808e-05      1.000e+01      8.624e-04
      63             105         1.491e-05      2.985e-08      1.899e-04      1.289e-05      1.847e-05      1.000e+01      8.624e-04
      64             107         1.488e-05      2.951e-08      1.902e-04      1.308e-05      1.889e-05      1.000e+01      8.624e-04
      65             109         1.485e-05      2.915e-08      1.904e-04      1.321e-05      1.932e-05      1.000e+01      8.624e-04
      66             111         1.482e-05      2.874e-08      1.901e-04      1.320e-05      1.975e-05      1.000e+01      8.624e-04
      67             113         1.479e-05      2.830e-08      1.894e-04      1.342e-05      2.018e-05      1.000e+01      8.624e-04
      68             115         1.476e-05      2.781e-08      1.884e-04      1.417e-05      2.062e-05      1.000e+01      8.624e-04
      69             117         1.473e-05      2.726e-08      1.872e-04      1.483e-05      2.107e-05      1.000e+01      8.624e-04
      70             119         1.471e-05      2.668e-08      1.856e-04      1.534e-05      2.154e-05      1.000e+01      8.624e-04
      71             121         1.468e-05      2.605e-08      1.837e-04      1.568e-05      2.201e-05      1.000e+01      8.624e-04
      72             123         1.466e-05      2.540e-08      1.815e-04      1.583e-05      2.248e-05      1.000e+01      8.624e-04
      73             125         1.463e-05      2.475e-08      1.794e-04      1.577e-05      2.294e-05      1.000e+01      8.624e-04
      74             127         1.461e-05      2.409e-08      1.773e-04      1.550e-05      2.340e-05      1.000e+01      8.624e-04
      75             129         1.458e-05      2.345e-08      1.752e-04      1.500e-05      2.385e-05      1.000e+01      8.624e-04
      76             131         1.456e-05      2.285e-08      1.731e-04      1.423e-05      2.429e-05      1.000e+01      8.624e-04
      77             133         1.454e-05      2.230e-08      1.714e-04      1.321e-05      2.472e-05      1.000e+01      8.624e-04
      78             135         1.452e-05      2.180e-08      1.700e-04      1.269e-05      2.514e-05      1.000e+01      8.624e-04
      79             137         1.450e-05      2.136e-08      1.687e-04      1.300e-05      2.553e-05      1.000e+01      8.624e-04
      80             139         1.448e-05      2.098e-08      1.676e-04      1.319e-05      2.590e-05      1.000e+01      8.624e-04
      81             141         1.445e-05      2.066e-08      1.668e-04      1.326e-05      2.625e-05      1.000e+01      8.624e-04
      82             143         1.443e-05      2.039e-08      1.664e-04      1.319e-05      2.658e-05      1.000e+01      8.624e-04
      83             145         1.441e-05      2.016e-08      1.661e-04      1.292e-05      2.689e-05      1.000e+01      8.624e-04
      84             147         1.439e-05      1.994e-08      1.661e-04      1.243e-05      2.717e-05      1.000e+01      8.624e-04
      85             149         1.437e-05      1.974e-08      1.661e-04      1.172e-05      2.744e-05      1.000e+01      8.624e-04
      86             151         1.435e-05      1.954e-08      1.665e-04      1.089e-05      2.769e-05      1.000e+01      8.624e-04
      87             153         1.434e-05      1.935e-08      1.670e-04      1.093e-05      2.794e-05      1.000e+01      8.624e-04
      88             155         1.432e-05      1.916e-08      1.677e-04      1.175e-05      2.817e-05      1.000e+01      8.624e-04
      89             157         1.430e-05      1.899e-08      1.683e-04      1.264e-05      2.839e-05      1.000e+01      8.624e-04
      90             159         1.428e-05      1.883e-08      1.690e-04      1.351e-05      2.860e-05      1.000e+01      8.624e-04
      91             161         1.426e-05      1.870e-08      1.693e-04      1.428e-05      2.881e-05      1.000e+01      8.624e-04
      92             163         1.424e-05      1.860e-08      1.694e-04      1.488e-05      2.900e-05      1.000e+01      8.624e-04
      93             165         1.422e-05      1.854e-08      1.690e-04      1.529e-05      2.919e-05      1.000e+01      8.624e-04
      94             167         1.420e-05      1.852e-08      1.682e-04      1.550e-05      2.938e-05      1.000e+01      8.624e-04
      95             169         1.419e-05      1.855e-08      1.670e-04      1.543e-05      2.954e-05      1.000e+01      8.624e-04
      96             171         1.417e-05      1.862e-08      1.653e-04      1.512e-05      2.971e-05      1.000e+01      8.624e-04
      97             173         1.415e-05      1.873e-08      1.636e-04      1.475e-05      2.987e-05      1.000e+01      8.624e-04
      98             175         1.413e-05      1.888e-08      1.616e-04      1.424e-05      3.003e-05      1.000e+01      8.624e-04
      99             177         1.411e-05      1.905e-08      1.597e-04      1.363e-05      3.018e-05      1.000e+01      8.624e-04
      100            179         1.409e-05      1.922e-08      1.577e-04      1.293e-05      3.031e-05      1.000e+01      8.624e-04
      101            181         1.407e-05      1.937e-08      1.559e-04      1.225e-05      3.042e-05      1.000e+01      8.624e-04
      102            183         1.405e-05      1.949e-08      1.544e-04      1.168e-05      3.054e-05      1.000e+01      8.624e-04
      103            185         1.403e-05      1.955e-08      1.531e-04      1.112e-05      3.065e-05      1.000e+01      8.624e-04
      104            187         1.401e-05      1.955e-08      1.520e-04      1.056e-05      3.076e-05      1.000e+01      8.624e-04
      105            189         1.399e-05      1.949e-08      1.511e-04      1.003e-05      3.086e-05      1.000e+01      8.624e-04
      106            191         1.397e-05      1.934e-08      1.506e-04      9.591e-06      3.097e-05      1.000e+01      5.527e-04
      107            193         1.394e-05      3.492e-08      1.658e-04      1.126e-05      1.813e-06      1.000e+01      5.527e-04
      108            195         1.392e-05      1.961e-08      1.500e-04      9.206e-06      5.305e-07      1.000e+01      5.527e-04
      109            197         1.390e-05      1.841e-08      1.500e-04      9.787e-06      5.650e-07      1.000e+01      5.527e-04
      110            199         1.388e-05      1.791e-08      1.502e-04      1.035e-05      6.695e-07      1.000e+01      5.527e-04
      111            201         1.387e-05      1.740e-08      1.505e-04      1.075e-05      7.835e-07      1.000e+01      5.527e-04
      112            203         1.385e-05      1.685e-08      1.509e-04      1.141e-05      9.021e-07      1.000e+01      5.527e-04
      113            205         1.383e-05      1.628e-08      1.514e-04      1.207e-05      1.022e-06      1.000e+01      5.527e-04
      114            207         1.382e-05      1.570e-08      1.521e-04      1.272e-05      1.139e-06      1.000e+01      5.527e-04
      115            209         1.380e-05      1.510e-08      1.531e-04      1.335e-05      1.259e-06      1.000e+01      5.527e-04
      116            211         1.379e-05      1.449e-08      1.546e-04      1.392e-05      1.380e-06      1.000e+01      5.527e-04
      117            213         1.377e-05      1.389e-08      1.566e-04      1.441e-05      1.497e-06      1.000e+01      5.527e-04
      118            215         1.376e-05      1.329e-08      1.592e-04      1.477e-05      1.612e-06      1.000e+01      5.527e-04
      119            217         1.375e-05      1.272e-08      1.623e-04      1.500e-05      1.719e-06      1.000e+01      5.527e-04
      120            219         1.374e-05      1.218e-08      1.659e-04      1.510e-05      1.823e-06      1.000e+01      5.527e-04
      121            221         1.372e-05      1.167e-08      1.697e-04      1.507e-05      1.922e-06      1.000e+01      5.527e-04
      122            223         1.371e-05      1.118e-08      1.737e-04      1.486e-05      2.020e-06      1.000e+01      5.527e-04
      123            225         1.370e-05      1.074e-08      1.775e-04      1.586e-05      2.102e-06      1.000e+01      5.527e-04
      124            227         1.369e-05      1.034e-08      1.815e-04      1.763e-05      2.172e-06      1.000e+01      5.527e-04
      125            229         1.368e-05      9.983e-09      1.853e-04      1.933e-05      2.240e-06      1.000e+01      5.527e-04
      126            231         1.367e-05      9.667e-09      1.889e-04      2.092e-05      2.304e-06      1.000e+01      5.527e-04
      127            233         1.366e-05      9.393e-09      1.922e-04      2.234e-05      2.362e-06      1.000e+01      5.527e-04
      128            235         1.365e-05      9.162e-09      1.951e-04      2.371e-05      2.424e-06      1.000e+01      5.527e-04
      129            237         1.364e-05      8.971e-09      1.977e-04      2.499e-05      2.485e-06      1.000e+01      5.527e-04
      130            239         1.364e-05      8.812e-09      1.999e-04      2.612e-05      2.544e-06      1.000e+01      5.527e-04
      131            241         1.363e-05      8.672e-09      2.018e-04      2.711e-05      2.601e-06      1.000e+01      5.527e-04
      132            243         1.362e-05      8.532e-09      2.033e-04      2.790e-05      2.657e-06      1.000e+01      5.527e-04
      133            245         1.361e-05      8.406e-09      2.044e-04      2.844e-05      2.705e-06      1.000e+01      5.527e-04
      134            247         1.360e-05      8.301e-09      2.053e-04      2.887e-05      2.757e-06      1.000e+01      5.527e-04
      135            249         1.359e-05      8.191e-09      2.061e-04      2.917e-05      2.822e-06      1.000e+01      5.527e-04
      136            251         1.359e-05      8.126e-09      2.065e-04      2.934e-05      2.891e-06      1.000e+01      5.527e-04
      137            253         1.358e-05      8.055e-09      2.066e-04      2.943e-05      2.959e-06      1.000e+01      5.527e-04
      138            255         1.357e-05      7.977e-09      2.067e-04      2.947e-05      3.029e-06      1.000e+01      5.527e-04
      139            257         1.356e-05      7.887e-09      2.068e-04      2.944e-05      3.099e-06      1.000e+01      5.527e-04
      140            259         1.355e-05      7.842e-09      2.066e-04      2.925e-05      3.188e-06      1.000e+01      5.527e-04
      141            261         1.355e-05      7.780e-09      2.065e-04      2.912e-05      3.274e-06      1.000e+01      5.527e-04
      142            263         1.354e-05      7.722e-09      2.064e-04      2.892e-05      3.361e-06      1.000e+01      5.527e-04
      143            265         1.353e-05      7.657e-09      2.062e-04      2.866e-05      3.455e-06      1.000e+01      5.527e-04
      144            267         1.352e-05      7.609e-09      2.059e-04      2.827e-05      3.569e-06      1.000e+01      5.527e-04
      145            269         1.352e-05      7.538e-09      2.057e-04      2.796e-05      3.693e-06      1.000e+01      5.527e-04
      146            271         1.351e-05      7.474e-09      2.055e-04      2.765e-05      3.821e-06      1.000e+01      5.527e-04
      147            273         1.350e-05      7.412e-09      2.052e-04      2.730e-05      3.954e-06      1.000e+01      5.527e-04
      148            275         1.349e-05      7.354e-09      2.050e-04      2.691e-05      4.083e-06      1.000e+01      5.527e-04
      149            277         1.349e-05      7.289e-09      2.048e-04      2.648e-05      4.211e-06      1.000e+01      5.527e-04
      150            279         1.348e-05      7.224e-09      2.046e-04      2.601e-05      4.334e-06      1.000e+01      5.527e-04
      151            281         1.347e-05      7.151e-09      2.046e-04      2.557e-05      4.460e-06      1.000e+01      5.527e-04
      152            283         1.346e-05      7.077e-09      2.046e-04      2.510e-05      4.588e-06      1.000e+01      5.527e-04
      153            285         1.346e-05      7.001e-09      2.046e-04      2.464e-05      4.717e-06      1.000e+01      5.527e-04
      154            287         1.345e-05      6.919e-09      2.050e-04      2.424e-05      4.850e-06      1.000e+01      5.527e-04
      155            289         1.344e-05      6.825e-09      2.053e-04      2.384e-05      4.988e-06      1.000e+01      5.527e-04
      156            291         1.344e-05      6.715e-09      2.056e-04      2.347e-05      5.131e-06      1.000e+01      5.527e-04
      157            293         1.343e-05      6.569e-09      2.055e-04      2.344e-05      5.270e-06      1.000e+01      5.527e-04
      158            295         1.342e-05      6.421e-09      2.051e-04      2.365e-05      5.395e-06      1.000e+01      5.527e-04
      159            297         1.342e-05      6.260e-09      2.048e-04      2.379e-05      5.508e-06      1.000e+01      5.527e-04
      160            299         1.341e-05      6.077e-09      2.045e-04      2.395e-05      5.621e-06      1.000e+01      5.527e-04
      161            301         1.341e-05      5.919e-09      2.046e-04      2.407e-05      5.715e-06      1.000e+01      5.527e-04
      162            303         1.340e-05      5.754e-09      2.054e-04      2.396e-05      5.808e-06      1.000e+01      5.527e-04
      163            305         1.339e-05      5.562e-09      2.058e-04      2.419e-05      5.894e-06      1.000e+01      5.527e-04
      164            307         1.339e-05      5.366e-09      2.060e-04      2.468e-05      5.969e-06      1.000e+01      5.527e-04
      165            309         1.338e-05      5.133e-09      2.055e-04      2.544e-05      6.049e-06      1.000e+01      5.527e-04
      166            311         1.338e-05      4.896e-09      2.044e-04      2.640e-05      6.102e-06      1.000e+01      5.527e-04
      167            313         1.337e-05      4.654e-09      2.036e-04      2.741e-05      6.162e-06      1.000e+01      5.527e-04
      168            315         1.337e-05      4.427e-09      2.032e-04      2.851e-05      6.215e-06      1.000e+01      5.527e-04
      169            317         1.337e-05      4.246e-09      2.030e-04      2.922e-05      6.270e-06      1.000e+01      5.527e-04
      170            319         1.336e-05      4.061e-09      2.028e-04      2.985e-05      6.319e-06      1.000e+01      5.527e-04
      171            321         1.336e-05      3.885e-09      2.024e-04      3.038e-05      6.358e-06      1.000e+01      5.527e-04
      172            323         1.335e-05      3.759e-09      2.022e-04      3.076e-05      6.402e-06      1.000e+01      5.527e-04
      173            325         1.335e-05      3.618e-09      2.021e-04      3.098e-05      6.448e-06      1.000e+01      5.527e-04
      174            326         1.335e-05      3.500e-09      2.020e-04      3.112e-05      6.481e-06      1.000e+01      5.527e-04
      175            327         1.334e-05      3.379e-09      2.019e-04      3.133e-05      6.499e-06      1.000e+01      5.527e-04
      176            328         1.334e-05      3.292e-09      2.016e-04      3.161e-05      6.498e-06      1.000e+01      5.527e-04
      177            329         1.334e-05      3.264e-09      2.019e-04      3.186e-05      6.501e-06      1.000e+01      5.527e-04
      178            330         1.333e-05      3.190e-09      2.025e-04      3.205e-05      6.510e-06      1.000e+01      5.527e-04
      179            331         1.333e-05      3.069e-09      2.025e-04      3.228e-05      6.523e-06      1.000e+01      5.527e-04
      180            332         1.333e-05      2.991e-09      2.028e-04      3.266e-05      6.529e-06      1.000e+01      5.527e-04
      181            333         1.332e-05      2.912e-09      2.026e-04      3.304e-05      6.533e-06      1.000e+01      5.527e-04
      182            334         1.332e-05      2.816e-09      2.025e-04      3.364e-05      6.544e-06      1.000e+01      5.527e-04
      183            335         1.332e-05      2.759e-09      2.022e-04      3.416e-05      6.554e-06      1.000e+01      5.527e-04
      184            336         1.332e-05      2.696e-09      2.020e-04      3.469e-05      6.565e-06      1.000e+01      5.527e-04
      185            337         1.331e-05      2.659e-09      2.019e-04      3.514e-05      6.567e-06      1.000e+01      5.527e-04
      186            338         1.331e-05      2.631e-09      2.020e-04      3.557e-05      6.567e-06      1.000e+01      5.527e-04
      187            339         1.331e-05      2.543e-09      2.022e-04      3.613e-05      6.576e-06      1.000e+01      5.527e-04
      188            340         1.331e-05      2.539e-09      2.024e-04      3.655e-05      6.582e-06      1.000e+01      5.527e-04
      189            341         1.330e-05      2.554e-09      2.026e-04      3.685e-05      6.589e-06      1.000e+01      5.527e-04
      190            342         1.330e-05      2.537e-09      2.028e-04      3.709e-05      6.598e-06      1.000e+01      5.527e-04
      191            343         1.330e-05      2.572e-09      2.026e-04      3.707e-05      6.615e-06      1.000e+01      5.527e-04
      192            344         1.330e-05      2.547e-09      2.026e-04      3.709e-05      6.632e-06      1.000e+01      5.527e-04
      193            345         1.329e-05      2.487e-09      2.029e-04      3.726e-05      6.647e-06      1.000e+01      5.527e-04
      194            346         1.329e-05      2.536e-09      2.027e-04      3.700e-05      6.662e-06      1.000e+01      5.527e-04
      195            347         1.329e-05      2.518e-09      2.025e-04      3.673e-05      6.680e-06      1.000e+01      5.527e-04
      196            348         1.329e-05      2.505e-09      2.022e-04      3.644e-05      6.699e-06      1.000e+01      5.527e-04
      197            349         1.328e-05      2.511e-09      2.023e-04      3.630e-05      6.717e-06      1.000e+01      5.527e-04
      198            350         1.328e-05      2.561e-09      2.022e-04      3.607e-05      6.738e-06      1.000e+01      5.527e-04
      199            351         1.328e-05      2.546e-09      2.025e-04      3.605e-05      6.757e-06      1.000e+01      5.527e-04
      200            352         1.328e-05      2.591e-09      2.027e-04      3.586e-05      6.780e-06      1.000e+01      5.527e-04
      201            353         1.327e-05      2.630e-09      2.028e-04      3.565e-05      6.801e-06      1.000e+01      5.527e-04
      202            354         1.327e-05      2.677e-09      2.026e-04      3.542e-05      6.813e-06      1.000e+01      5.527e-04
      203            355         1.327e-05      2.731e-09      2.022e-04      3.500e-05      6.832e-06      1.000e+01      5.527e-04
      204            356         1.326e-05      2.714e-09      2.022e-04      3.485e-05      6.849e-06      1.000e+01      5.527e-04
      205            357         1.326e-05      2.786e-09      2.020e-04      3.460e-05      6.873e-06      1.000e+01      5.527e-04
      206            358         1.326e-05      2.800e-09      2.016e-04      3.429e-05      6.903e-06      1.000e+01      5.527e-04
      207            359         1.326e-05      2.768e-09      2.016e-04      3.426e-05      6.930e-06      1.000e+01      5.527e-04
      208            360         1.325e-05      2.791e-09      2.015e-04      3.419e-05      6.955e-06      1.000e+01      5.527e-04
      209            361         1.325e-05      2.783e-09      2.017e-04      3.420e-05      6.977e-06      1.000e+01      5.527e-04
      210            362         1.325e-05      2.778e-09      2.018e-04      3.429e-05      7.003e-06      1.000e+01      5.527e-04
      211            363         1.325e-05      2.762e-09      2.017e-04      3.442e-05      7.025e-06      1.000e+01      5.527e-04
      212            364         1.324e-05      2.768e-09      2.016e-04      3.458e-05      7.032e-06      1.000e+01      5.527e-04
      213            365         1.324e-05      2.783e-09      2.018e-04      3.474e-05      7.024e-06      1.000e+01      5.527e-04
      214            366         1.324e-05      2.802e-09      2.015e-04      3.467e-05      7.020e-06      1.000e+01      5.527e-04
      215            367         1.323e-05      2.806e-09      2.007e-04      3.430e-05      7.018e-06      1.000e+01      5.527e-04
      216            368         1.323e-05      2.758e-09      2.001e-04      3.399e-05      7.027e-06      1.000e+01      5.527e-04
      217            369         1.323e-05      2.708e-09      1.996e-04      3.382e-05      7.038e-06      1.000e+01      5.527e-04
      218            370         1.323e-05      2.658e-09      1.994e-04      3.400e-05      7.049e-06      1.000e+01      5.527e-04
      219            371         1.322e-05      2.624e-09      1.997e-04      3.444e-05      7.055e-06      1.000e+01      5.527e-04
      220            372         1.322e-05      2.617e-09      1.999e-04      3.497e-05      7.057e-06      1.000e+01      5.527e-04
      221            373         1.322e-05      2.592e-09      2.006e-04      3.571e-05      7.051e-06      1.000e+01      5.527e-04
      222            374         1.322e-05      2.637e-09      2.011e-04      3.629e-05      7.042e-06      1.000e+01      5.527e-04
      223            375         1.321e-05      2.724e-09      2.011e-04      3.665e-05      7.022e-06      1.000e+01      5.527e-04
      224            376         1.321e-05      2.817e-09      2.007e-04      3.677e-05      6.990e-06      1.000e+01      5.527e-04
      225            377         1.321e-05      2.895e-09      1.999e-04      3.662e-05      6.959e-06      1.000e+01      5.527e-04
      226            378         1.320e-05      2.953e-09      1.993e-04      3.665e-05      6.921e-06      1.000e+01      5.527e-04
      227            379         1.320e-05      3.150e-09      1.985e-04      3.650e-05      6.876e-06      1.000e+01      5.527e-04
      228            380         1.320e-05      3.404e-09      1.971e-04      3.598e-05      6.821e-06      1.000e+01      5.527e-04
      229            381         1.319e-05      3.759e-09      1.949e-04      3.495e-05      6.750e-06      1.000e+01      5.527e-04
      230            382         1.319e-05      4.232e-09      1.919e-04      3.333e-05      6.662e-06      1.000e+01      5.527e-04
      231            384         1.318e-05      4.937e-09      1.871e-04      3.064e-05      6.558e-06      1.000e+01      5.527e-04
      232            386         1.318e-05      5.795e-09      1.807e-04      2.703e-05      6.434e-06      1.000e+01      5.527e-04
      233            388         1.317e-05      6.826e-09      1.715e-04      2.247e-05      6.302e-06      1.000e+01      5.527e-04
      234            390         1.316e-05      7.794e-09      1.620e-04      1.798e-05      6.165e-06      1.000e+01      5.527e-04
      235            392         1.316e-05      8.607e-09      1.541e-04      1.409e-05      6.030e-06      1.000e+01      5.527e-04
      236            394         1.315e-05      9.042e-09      1.488e-04      1.183e-05      5.904e-06      1.000e+01      5.527e-04
      237            396         1.314e-05      8.916e-09      1.474e-04      1.129e-05      5.787e-06      1.000e+01      5.527e-04
      238            398         1.313e-05      8.247e-09      1.488e-04      1.057e-05      5.692e-06      1.000e+01      5.527e-04
      239            400         1.312e-05      7.224e-09      1.521e-04      9.512e-06      5.621e-06      1.000e+01      5.527e-04
      240            402         1.312e-05      6.078e-09      1.572e-04      8.814e-06      5.572e-06      1.000e+01      5.527e-04
      241            404         1.311e-05      4.942e-09      1.652e-04      9.320e-06      5.545e-06      1.000e+01      5.527e-04
      242            406         1.311e-05      3.850e-09      1.785e-04      1.234e-05      5.547e-06      1.000e+01      5.527e-04
      243            408         1.310e-05      2.793e-09      2.003e-04      1.640e-05      5.569e-06      1.000e+01      5.527e-04
      244            410         1.310e-05      2.073e-09      2.232e-04      1.982e-05      5.570e-06      1.000e+01      5.527e-04
      245            411         1.310e-05      1.490e-09      2.561e-04      2.773e-05      5.607e-06      1.000e+01      5.527e-04
      246            412         1.310e-05      2.707e-09      6.750e-05      1.765e-06      5.595e-06      1.000e+01      5.527e-04
      247            414         1.310e-05      4.647e-10      6.954e-05      1.890e-06      5.596e-06      1.000e+01      5.527e-04
      248            416         1.310e-05      4.424e-10      7.134e-05      1.956e-06      5.601e-06      1.000e+01      5.527e-04
      249            418         1.310e-05      4.273e-10      7.285e-05      2.011e-06      5.608e-06      1.000e+01      5.527e-04
      250            420         1.310e-05      4.153e-10      7.412e-05      2.067e-06      5.616e-06      1.000e+01      5.527e-04
      251            422         1.310e-05      4.046e-10      7.509e-05      2.123e-06      5.622e-06      1.000e+01      5.527e-04
      252            424         1.310e-05      3.960e-10      7.576e-05      2.183e-06      5.625e-06      1.000e+01      5.527e-04
      253            426         1.310e-05      3.860e-10      7.643e-05      2.240e-06      5.637e-06      1.000e+01      5.527e-04
      254            428         1.309e-05      3.794e-10      7.702e-05      2.291e-06      5.654e-06      1.000e+01      5.527e-04
      255            430         1.309e-05      3.770e-10      7.753e-05      2.336e-06      5.671e-06      1.000e+01      5.527e-04
      256            432         1.309e-05      3.756e-10      7.786e-05      2.351e-06      5.686e-06      1.000e+01      5.527e-04
      257            434         1.309e-05      3.739e-10      7.830e-05      2.372e-06      5.705e-06      1.000e+01      5.527e-04
      258            436         1.309e-05      3.717e-10      7.845e-05      2.406e-06      5.729e-06      1.000e+01      5.527e-04
      259            438         1.309e-05      3.737e-10      7.849e-05      2.423e-06      5.746e-06      1.000e+01      5.527e-04
      260            440         1.309e-05      3.752e-10      7.822e-05      2.422e-06      5.757e-06      1.000e+01      5.527e-04
      261            442         1.309e-05      3.742e-10      7.800e-05      2.426e-06      5.766e-06      1.000e+01      5.527e-04
      262            444         1.309e-05      3.750e-10      7.782e-05      2.426e-06      5.773e-06      1.000e+01      5.527e-04
      263            446         1.309e-05      3.795e-10      7.799e-05      2.425e-06      5.774e-06      1.000e+01      5.527e-04
      264            448         1.309e-05      3.814e-10      7.814e-05      2.432e-06      5.775e-06      1.000e+01      5.527e-04
      265            450         1.309e-05      3.818e-10      7.823e-05      2.444e-06      5.776e-06      1.000e+01      5.527e-04
      266            452         1.309e-05      3.784e-10      7.825e-05      2.471e-06      5.780e-06      1.000e+01      5.527e-04
      267            454         1.309e-05      3.775e-10      7.835e-05      2.502e-06      5.787e-06      1.000e+01      5.527e-04
      268            456         1.309e-05      3.789e-10      7.852e-05      2.535e-06      5.794e-06      1.000e+01      5.527e-04
      269            458         1.309e-05      3.826e-10      7.883e-05      2.588e-06      5.804e-06      1.000e+01      5.527e-04
      270            460         1.309e-05      3.868e-10      7.922e-05      2.644e-06      5.819e-06      1.000e+01      5.527e-04
      271            462         1.309e-05      3.909e-10      7.944e-05      2.683e-06      5.840e-06      1.000e+01      5.527e-04
      272            464         1.309e-05      3.968e-10      7.971e-05      2.726e-06      5.866e-06      1.000e+01      5.527e-04
      273            466         1.309e-05      4.059e-10      8.010e-05      2.769e-06      5.898e-06      1.000e+01      5.527e-04
      274            468         1.309e-05      4.177e-10      8.042e-05      2.817e-06      5.929e-06      1.000e+01      5.527e-04
      275            470         1.309e-05      4.306e-10      8.067e-05      2.866e-06      5.960e-06      1.000e+01      5.527e-04
      276            472         1.309e-05      4.456e-10      8.093e-05      2.889e-06      5.988e-06      1.000e+01      5.527e-04
      277            474         1.309e-05      4.614e-10      8.125e-05      2.901e-06      6.013e-06      1.000e+01      5.527e-04
      278            476         1.309e-05      4.745e-10      8.148e-05      2.918e-06      6.039e-06      1.000e+01      5.527e-04
      279            478         1.308e-05      4.900e-10      8.180e-05      2.944e-06      6.067e-06      1.000e+01      5.527e-04
      280            480         1.308e-05      5.181e-10      8.209e-05      2.981e-06      6.091e-06      1.000e+01      5.527e-04
      281            482         1.308e-05      5.478e-10      8.266e-05      2.981e-06      6.126e-06      1.000e+01      5.527e-04
      282            484         1.308e-05      5.830e-10      8.307e-05      2.991e-06      6.163e-06      1.000e+01      5.527e-04
      283            486         1.308e-05      6.171e-10      8.340e-05      2.997e-06      6.206e-06      1.000e+01      5.527e-04
      284            488         1.308e-05      6.530e-10      8.365e-05      2.995e-06      6.251e-06      1.000e+01      5.527e-04
      285            490         1.308e-05      6.906e-10      8.385e-05      2.989e-06      6.298e-06      1.000e+01      5.527e-04
      286            492         1.308e-05      7.277e-10      8.401e-05      2.979e-06      6.345e-06      1.000e+01      5.527e-04
      287            494         1.308e-05      7.600e-10      8.411e-05      2.971e-06      6.391e-06      1.000e+01      5.527e-04
      288            496         1.308e-05      7.903e-10      8.394e-05      2.960e-06      6.432e-06      1.000e+01      5.527e-04
      289            498         1.308e-05      8.147e-10      8.385e-05      2.948e-06      6.471e-06      1.000e+01      5.527e-04
      290            500         1.308e-05      8.353e-10      8.371e-05      2.936e-06      6.511e-06      1.000e+01      5.527e-04
      291            502         1.308e-05      8.559e-10      8.361e-05      2.922e-06      6.551e-06      1.000e+01      5.527e-04
      292            504         1.308e-05      8.767e-10      8.349e-05      2.911e-06      6.589e-06      1.000e+01      5.527e-04
      293            506         1.307e-05      8.934e-10      8.339e-05      2.899e-06      6.629e-06      1.000e+01      5.527e-04
      294            508         1.307e-05      9.071e-10      8.328e-05      2.889e-06      6.674e-06      1.000e+01      5.527e-04
      295            510         1.307e-05      9.218e-10      8.319e-05      2.875e-06      6.720e-06      1.000e+01      5.527e-04
      296            512         1.307e-05      9.364e-10      8.313e-05      2.858e-06      6.768e-06      1.000e+01      5.527e-04
      297            514         1.307e-05      9.507e-10      8.314e-05      2.835e-06      6.819e-06      1.000e+01      5.527e-04
      298            516         1.307e-05      9.660e-10      8.314e-05      2.812e-06      6.870e-06      1.000e+01      5.527e-04
      299            518         1.307e-05      9.825e-10      8.314e-05      2.785e-06      6.917e-06      1.000e+01      5.527e-04
      300            520         1.307e-05      9.925e-10      8.307e-05      2.760e-06      6.960e-06      1.000e+01      5.527e-04
      301            522         1.307e-05      1.003e-09      8.292e-05      2.737e-06      6.994e-06      1.000e+01      5.527e-04
      302            524         1.307e-05      1.010e-09      8.282e-05      2.713e-06      7.028e-06      1.000e+01      5.527e-04
      303            526         1.307e-05      1.018e-09      8.281e-05      2.675e-06      7.074e-06      1.000e+01      5.527e-04
      304            528         1.306e-05      1.026e-09      8.279e-05      2.646e-06      7.118e-06      1.000e+01      5.527e-04
      305            530         1.306e-05      1.040e-09      8.271e-05      2.628e-06      7.146e-06      1.000e+01      5.527e-04
      306            531         1.306e-05     -2.684e-11      3.260e-04      3.805e-05      7.289e-06      1.000e+01      5.527e-04
      307            532         1.306e-05      5.295e-09      8.352e-05      2.447e-06      7.170e-06      1.000e+01      5.527e-04
      308            533         1.306e-05      2.180e-10      3.266e-04      3.541e-05      7.297e-06      1.000e+01      5.527e-04
      309            534         1.305e-05      5.018e-09      8.338e-05      2.265e-06      7.178e-06      1.000e+01      5.527e-04
      310            535         1.305e-05      2.350e-10      3.244e-04      3.770e-05      7.314e-06      1.000e+01      5.527e-04
      311            536         1.305e-05      4.812e-09      8.298e-05      2.162e-06      7.195e-06      1.000e+01      5.527e-04
      312            537         1.305e-05      1.566e-10      3.211e-04      3.962e-05      7.324e-06      1.000e+01      5.527e-04
      313            538         1.304e-05      4.631e-09      8.250e-05      2.353e-06      7.187e-06      1.000e+01      5.527e-04
      314            540         1.304e-05      9.167e-10      8.172e-05      2.473e-06      7.177e-06      1.000e+01      5.527e-04
      315            542         1.304e-05      8.952e-10      8.122e-05      2.555e-06      7.173e-06      1.000e+01      5.527e-04
      316            544         1.304e-05      8.776e-10      8.076e-05      2.613e-06      7.166e-06      1.000e+01      5.527e-04
      317            546         1.304e-05      8.603e-10      8.034e-05      2.662e-06      7.157e-06      1.000e+01      5.527e-04
      318            548         1.304e-05      8.415e-10      8.007e-05      2.696e-06      7.155e-06      1.000e+01      5.527e-04
      319            550         1.304e-05      8.265e-10      7.986e-05      2.720e-06      7.153e-06      1.000e+01      5.527e-04
      320            552         1.304e-05      8.111e-10      7.975e-05      2.738e-06      7.154e-06      1.000e+01      5.527e-04
      321            554         1.304e-05      7.969e-10      7.957e-05      2.749e-06      7.152e-06      1.000e+01      5.527e-04
      322            556         1.304e-05      7.821e-10      7.940e-05      2.755e-06      7.148e-06      1.000e+01      5.527e-04
      323            558         1.303e-05      7.668e-10      7.931e-05      2.762e-06      7.144e-06      1.000e+01      5.527e-04
      324            560         1.303e-05      7.507e-10      7.918e-05      2.765e-06      7.144e-06      1.000e+01      5.527e-04
      325            562         1.303e-05      7.345e-10      7.918e-05      2.769e-06      7.150e-06      1.000e+01      5.527e-04
      326            564         1.303e-05      7.233e-10      7.904e-05      2.749e-06      7.152e-06      1.000e+01      5.527e-04
      327            566         1.303e-05      7.006e-10      7.888e-05      2.718e-06      7.167e-06      1.000e+01      5.527e-04
      328            568         1.303e-05      6.793e-10      7.849e-05      2.690e-06      7.188e-06      1.000e+01      5.527e-04
      329            570         1.303e-05      6.623e-10      7.816e-05      2.667e-06      7.208e-06      1.000e+01      5.527e-04
      330            572         1.303e-05      6.439e-10      7.782e-05      2.639e-06      7.229e-06      1.000e+01      5.527e-04
      331            574         1.303e-05      6.239e-10      7.733e-05      2.658e-06      7.253e-06      1.000e+01      5.527e-04
      332            576         1.303e-05      6.117e-10      7.697e-05      2.680e-06      7.275e-06      1.000e+01      5.527e-04
      333            578         1.303e-05      5.986e-10      7.677e-05      2.700e-06      7.301e-06      1.000e+01      5.527e-04
      334            580         1.303e-05      5.857e-10      7.644e-05      2.712e-06      7.326e-06      1.000e+01      5.527e-04
      335            582         1.303e-05      5.708e-10      7.609e-05      2.710e-06      7.356e-06      1.000e+01      5.527e-04
      336            584         1.303e-05      5.526e-10      7.557e-05      2.701e-06      7.389e-06      1.000e+01      5.527e-04
      337            586         1.303e-05      5.353e-10      7.497e-05      2.694e-06      7.424e-06      1.000e+01      5.527e-04
      338            588         1.302e-05      5.182e-10      7.427e-05      2.693e-06      7.458e-06      1.000e+01      5.527e-04
      339            590         1.302e-05      4.954e-10      7.346e-05      2.690e-06      7.497e-06      1.000e+01      5.527e-04
      340            592         1.302e-05      4.749e-10      7.252e-05      2.702e-06      7.539e-06      1.000e+01      5.527e-04
      341            594         1.302e-05      4.557e-10      7.160e-05      2.706e-06      7.580e-06      1.000e+01      5.527e-04
      342            596         1.302e-05      4.344e-10      7.054e-05      2.719e-06      7.622e-06      1.000e+01      5.527e-04
      343            598         1.302e-05      4.127e-10      6.930e-05      2.747e-06      7.664e-06      1.000e+01      5.527e-04
      344            600         1.302e-05      3.932e-10      6.816e-05      2.760e-06      7.706e-06      1.000e+01      5.527e-04
      345            602         1.302e-05      3.741e-10      6.705e-05      2.756e-06      7.745e-06      1.000e+01      5.527e-04
      346            604         1.302e-05      3.560e-10      6.589e-05      2.739e-06      7.782e-06      1.000e+01      5.527e-04
      347            606         1.302e-05      3.368e-10      6.470e-05      2.706e-06      7.819e-06      1.000e+01      5.527e-04
      348            608         1.302e-05      3.186e-10      6.351e-05      2.660e-06      7.855e-06      1.000e+01      5.527e-04
      349            610         1.302e-05      3.016e-10      6.232e-05      2.600e-06      7.891e-06      1.000e+01      5.527e-04
      350            612         1.302e-05      2.855e-10      6.117e-05      2.531e-06      7.927e-06      1.000e+01      5.527e-04
      351            614         1.302e-05      2.708e-10      6.012e-05      2.458e-06      7.962e-06      1.000e+01      5.527e-04
      352            616         1.302e-05      2.571e-10      5.905e-05      2.411e-06      7.996e-06      1.000e+01      5.527e-04
      353            618         1.302e-05      2.466e-10      5.807e-05      2.368e-06      8.024e-06      1.000e+01      5.527e-04
      354            620         1.302e-05      2.357e-10      5.721e-05      2.349e-06      8.052e-06      1.000e+01      5.527e-04
      355            622         1.302e-05      2.250e-10      5.616e-05      2.296e-06      8.075e-06      1.000e+01      5.527e-04
      356            624         1.302e-05      2.147e-10      5.484e-05      2.184e-06      8.093e-06      1.000e+01      5.527e-04
      357            626         1.302e-05      2.036e-10      5.360e-05      2.065e-06      8.111e-06      1.000e+01      5.527e-04
      358            628         1.302e-05      1.965e-10      5.288e-05      2.039e-06      8.123e-06      1.000e+01      5.527e-04
      359            630         1.302e-05      1.884e-10      5.218e-05      2.008e-06      8.135e-06      1.000e+01      5.527e-04
      360            632         1.302e-05      1.806e-10      5.150e-05      1.962e-06      8.145e-06      1.000e+01      5.527e-04
      361            634         1.302e-05      1.727e-10      5.086e-05      1.901e-06      8.156e-06      1.000e+01      5.527e-04
      362            636         1.302e-05      1.657e-10      5.038e-05      1.844e-06      8.166e-06      1.000e+01      5.527e-04
      363            638         1.302e-05      1.570e-10      5.021e-05      1.854e-06      8.184e-06      1.000e+01      5.527e-04
      364            640         1.302e-05      1.534e-10      5.036e-05      1.942e-06      8.202e-06      1.000e+01      5.527e-04
      365            642         1.302e-05      1.503e-10      5.049e-05      2.028e-06      8.217e-06      1.000e+01      5.527e-04
      366            644         1.302e-05      1.474e-10      5.066e-05      2.114e-06      8.233e-06      1.000e+01      5.527e-04
      367            646         1.302e-05      1.450e-10      5.097e-05      2.219e-06      8.248e-06      1.000e+01      5.527e-04
      368            648         1.302e-05      1.429e-10      5.144e-05      2.344e-06      8.264e-06      1.000e+01      5.527e-04
      369            650         1.302e-05      1.413e-10      5.184e-05      2.450e-06      8.281e-06      1.000e+01      5.527e-04
      370            652         1.302e-05      1.399e-10      5.218e-05      2.538e-06      8.297e-06      1.000e+01      5.527e-04
      371            654         1.302e-05      1.394e-10      5.249e-05      2.614e-06      8.314e-06      1.000e+01      5.527e-04
      372            656         1.302e-05      1.383e-10      5.303e-05      2.743e-06      8.332e-06      1.000e+01      5.527e-04
      373            658         1.302e-05      1.384e-10      5.290e-05      2.743e-06      8.345e-06      1.000e+01      5.527e-04
      374            660         1.302e-05      1.377e-10      5.257e-05      2.686e-06      8.356e-06      1.000e+01      5.527e-04
      375            662         1.302e-05      1.365e-10      5.241e-05      2.646e-06      8.364e-06      1.000e+01      5.527e-04
      376            664         1.302e-05      1.346e-10      5.239e-05      2.635e-06      8.371e-06      1.000e+01      5.527e-04
      377            666         1.302e-05      1.330e-10      5.244e-05      2.632e-06      8.379e-06      1.000e+01      5.527e-04
      378            668         1.302e-05      1.316e-10      5.255e-05      2.642e-06      8.386e-06      1.000e+01      5.527e-04
      379            670         1.302e-05      1.301e-10      5.270e-05      2.660e-06      8.393e-06      1.000e+01      5.527e-04
Optimization terminated successfully.
`ftol` condition satisfied.
         Current function value: 1.302e-05
         Constraint violation: 8.393e-06
         Total delta_x: 9.170e-02
         Iterations: 379
         Function evaluations: 670
         Jacobian evaluations: 382
Timer: Solution time = 2.38 min
Timer: Avg time per step = 375 ms
==============================================================================================================
                                                                 Start  -->   End
Total (sum of squares):                                      6.632e+01  -->   1.302e-05,
Maximum absolute QFM surface normal field error:             3.970e-02  -->   5.304e-05 (T m^2)
Minimum absolute QFM surface normal field error:             9.255e-18  -->   1.113e-17 (T m^2)
Average absolute QFM surface normal field error:             1.676e-02  -->   4.210e-06 (T m^2)
Maximum absolute QFM surface normal field error:             5.672e-01  -->   7.577e-04 (normalized)
Minimum absolute QFM surface normal field error:             1.322e-16  -->   1.590e-16 (normalized)
Average absolute QFM surface normal field error:             2.394e-01  -->   6.014e-05 (normalized)
Maximum Toroidal Flux:                                      -2.117e-02  -->  -3.501e-02 (Wb)
Minimum Toroidal Flux:                                      -2.117e-02  -->  -3.501e-02 (Wb)
Average Toroidal Flux:                                      -2.117e-02  -->  -3.501e-02 (Wb)
Maximum Toroidal Flux:                                      -2.117e-02  -->  -3.501e-02 (normalized)
Minimum Toroidal Flux:                                      -2.117e-02  -->  -3.501e-02 (normalized)
Average Toroidal Flux:                                      -2.117e-02  -->  -3.501e-02 (normalized)
==============================================================================================================

We can see that after the optimization, the normal field error is quite small

[7]:
plot_2d(qfm_surf, "B*n", field=field, cmap="viridis", log=True);
../../_images/notebooks_tutorials_QFM_surface_14_0.png

We also see that the optimized surface is now a good approximation of a flux surface in this vacuum field

[8]:
data = qfm_surf.compute(["R", "Z"], grid=LinearGrid(rho=1.0, theta=0, zeta=0))
fig, ax = plot_surfaces(qfm_surf, rho=1.0, theta=0)
poincare_plot(
    field, R0=np.append(data["R"], np.linspace(0.7, 0.8, 9)), Z0=np.zeros(10), ax=ax
);
../../_images/notebooks_tutorials_QFM_surface_16_0.png

We can use this QFM surface as the surface for a fixed-boundary DESC equilibrium solve, to find the equilibrium field which matches the vacuum field inside this surface. (Alternatively, one could also perform a free-boundary solve, though we know the surface should not change much from this QFM surface)

[9]:
from desc.equilibrium import Equilibrium

eq = Equilibrium(surface=qfm_surf, Psi=-0.035, L=8, M=6, N=6)
eq.solve(verbose=3, ftol=1e-8);
Building objective: force
Precomputing transforms
Timer: Precomputing transforms = 785 ms
Timer: Objective build = 1.15 sec
Building objective: lcfs R
Building objective: lcfs Z
Building objective: fixed Psi
Building objective: fixed pressure
Building objective: fixed current
Building objective: fixed sheet current
Building objective: self_consistency R
Building objective: self_consistency Z
Building objective: lambda gauge
Building objective: axis R self consistency
Building objective: axis Z self consistency
Timer: Objective build = 627 ms
Timer: Linear constraint projection build = 3.72 sec
Number of parameters: 628
Number of objectives: 3250
Timer: Initializing the optimization = 5.54 sec

Starting optimization
Using method: lsq-exact
   Iteration     Total nfev        Cost      Cost reduction    Step norm     Optimality
       0              1          3.077e-01                                    5.878e-01
       1              2          1.529e-02      2.925e-01      3.453e-01      4.716e-02
       2              3          2.486e-04      1.504e-02      8.733e-02      4.858e-03
       3              4          1.790e-05      2.307e-04      4.783e-02      1.724e-03
       4              6          1.069e-06      1.683e-05      2.236e-02      2.675e-04
       5              8          1.688e-07      9.002e-07      1.693e-02      1.283e-04
       6             10          8.039e-08      8.838e-08      8.362e-03      4.745e-05
       7             12          7.182e-08      8.564e-09      4.095e-03      1.219e-05
       8             14          7.057e-08      1.247e-09      2.083e-03      2.967e-06
       9             15          6.924e-08      1.335e-09      4.119e-03      9.143e-06
      10             16          6.911e-08      1.321e-10      7.968e-03      2.805e-05
      11             17          6.546e-08      3.649e-09      1.919e-03      1.495e-06
      12             18          6.433e-08      1.132e-09      3.774e-03      4.709e-06
      13             19          6.351e-08      8.175e-10      7.287e-03      1.460e-05
      14             20          6.125e-08      2.261e-09      7.058e-03      1.307e-05
      15             21          5.933e-08      1.913e-09      6.925e-03      1.187e-05
      16             22          5.765e-08      1.681e-09      6.854e-03      1.091e-05
      17             23          5.616e-08      1.491e-09      6.833e-03      1.075e-05
      18             24          5.484e-08      1.322e-09      6.856e-03      1.091e-05
      19             25          5.367e-08      1.168e-09      6.902e-03      1.188e-05
      20             26          5.265e-08      1.023e-09      6.932e-03      1.299e-05
      21             27          5.175e-08      9.001e-10      6.927e-03      1.417e-05
      22             28          5.095e-08      8.040e-10      6.929e-03      1.487e-05
      23             29          5.024e-08      7.080e-10      6.989e-03      1.418e-05
      24             30          4.965e-08      5.915e-10      7.106e-03      1.168e-05
      25             31          4.918e-08      4.666e-10      7.230e-03      7.967e-06
      26             33          4.890e-08      2.811e-10      3.646e-03      1.824e-06
      27             34          4.868e-08      2.185e-10      7.366e-03      6.098e-06
      28             36          4.851e-08      1.745e-10      3.706e-03      1.335e-06
      29             37          4.834e-08      1.676e-10      7.440e-03      4.845e-06
      30             39          4.820e-08      1.382e-10      3.731e-03      1.041e-06
      31             40          4.810e-08      1.035e-10      7.477e-03      4.745e-06
      32             41          4.797e-08      1.232e-10      7.457e-03      4.953e-06
      33             42          4.789e-08      7.834e-11      7.499e-03      5.219e-06
      34             43          4.785e-08      4.797e-11      7.500e-03      5.338e-06
      35             44          4.781e-08      3.369e-11      6.864e-03      4.681e-06
      36             45          4.775e-08      6.522e-11      6.667e-04      1.524e-07
      37             46          4.775e-08      7.048e-13      9.092e-04      1.085e-07
      38             47          4.775e-08      2.572e-13      1.389e-04      1.616e-08
      39             48          4.775e-08      6.419e-14      2.677e-04      9.380e-09
`gtol` condition satisfied.
         Current function value: 4.775e-08
         Total delta_x: 4.078e-01
         Iterations: 39
         Function evaluations: 48
         Jacobian evaluations: 40
Timer: Solution time = 46.2 sec
Timer: Avg time per step = 1.15 sec
==============================================================================================================
                                                                 Start  -->   End
Total (sum of squares):                                      3.077e-01  -->   4.775e-08,
Maximum absolute Force error:                                7.819e+04  -->   5.939e+01 (N)
Minimum absolute Force error:                                1.524e+00  -->   1.821e-04 (N)
Average absolute Force error:                                4.272e+03  -->   1.594e+00 (N)
Maximum absolute Force error:                                1.824e-01  -->   1.385e-04 (normalized)
Minimum absolute Force error:                                3.554e-06  -->   4.247e-10 (normalized)
Average absolute Force error:                                9.964e-03  -->   3.719e-06 (normalized)
R boundary error:                                            0.000e+00  -->   1.431e-17 (m)
Z boundary error:                                            0.000e+00  -->   2.926e-19 (m)
Fixed Psi error:                                             0.000e+00  -->   0.000e+00 (Wb)
Fixed pressure profile error:                                0.000e+00  -->   0.000e+00 (Pa)
Fixed current profile error:                                 0.000e+00  -->   0.000e+00 (A)
Fixed sheet current error:                                   0.000e+00  -->   0.000e+00 (~)
==============================================================================================================

Finally, we compare the solve equilibrium’s flux surfaces with the vacuum field Poincare plot and confirm that indeed, the equilibrium matches the vacuum field as expected.

[10]:
grid = LinearGrid(L=5)
data = eq.compute(["R", "Z"], grid=grid)
fig, ax = plot_surfaces(eq, rho=grid.nodes[:, 0], rho_lw=2)
poincare_plot(field, R0=data["R"], Z0=data["Z"], ax=ax, NFP=eq.NFP, size=10);
../../_images/notebooks_tutorials_QFM_surface_20_0.png