{
  "schema_version": 2,
  "generator": "workflow/particle_motion/run.py",
  "generated_commit": "7d88478d0d786ddf6f7f4a8cfb659836a2d914e1",
  "sources": [
    {
      "path": "vaft/data/particle.py",
      "sha256": "d6204b4802bc05d1ff7b8a69530efd850232cd395692cd05b67bf1aca3c02595"
    },
    {
      "path": "vaft/diagram/_guiding_center.py",
      "sha256": "e6b2e6d6c37ec715940c5d95a10d2f1588c7b07094812bcff8822e7a90681a92"
    },
    {
      "path": "vaft/diagram/_particle_references.py",
      "sha256": "d12439035ba05a74a6326e3cf8e40cab7c20f053227a518f9ec4e1c8ff77de77"
    },
    {
      "path": "vaft/diagram/_particle_states.py",
      "sha256": "40ef132f30ecf3996db868c8d172d3d5414c064e600a44daded6315d6a1f3afe"
    },
    {
      "path": "vaft/diagram/_ripple.py",
      "sha256": "2c48afd61f807305aff13349a0b38ba70a217396ce25b3f7d3bf9511ddda1406"
    },
    {
      "path": "vaft/formula/equilibrium.py",
      "sha256": "7cf401ece844faca9dae29b6664d9def4814b1aaa656910695327ef7e6c5f593"
    },
    {
      "path": "vaft/formula/particle.py",
      "sha256": "ef8884c7a3287b1d9c634bfa36b18e611eee53176eed95ea335b013fd04bb1c7"
    },
    {
      "path": "vaft/plot/particle.py",
      "sha256": "65ea7f4ba203a343dbf1a96768130d0cd2761c4e6017b42f5bb38875f2af6808"
    },
    {
      "path": "vaft/process/particle.py",
      "sha256": "fe5d3893701d3d24188600998f6568eb6230e50e3d57bb46337d50403cfe62ef"
    },
    {
      "path": "vaft/process/particle_fields.py",
      "sha256": "e6b11b80a023b51fd684e770f826ababedb31773cbbea7befda93d36901a2164"
    },
    {
      "path": "workflow/particle_motion/run.py",
      "sha256": "65bad0a8bea3758e85bbdb3ebaa10c369dc179a60e16d908d23fd0328667ac8e"
    }
  ],
  "units": "SI",
  "presentation": {
    "frames": 12,
    "dpi": 55
  },
  "scope": "nonrelativistic collisionless static fields; weak-flow Hamiltonian GC",
  "deferred": [
    "time-dependent fields",
    "slowly varying mirror second-invariant experiment",
    "collisions and transport",
    "external-solver cross-validation"
  ],
  "examples": [
    {
      "id": "cartesian",
      "builder": "gyration",
      "static": "cartesian.svg",
      "animation": "cartesian.gif",
      "quantitative_panels": "cartesian-diagnostics.png",
      "animated_panels": null,
      "driver": {
        "name": "time",
        "unit": "s",
        "values": [
          0.0,
          2.1818181818181817,
          4.363636363636363,
          6.545454545454545,
          8.727272727272727,
          10.909090909090908,
          13.09090909090909,
          15.272727272727272,
          17.454545454545453,
          19.636363636363633,
          21.818181818181817,
          24.0
        ]
      },
      "case": "gyration",
      "field": {
        "name": "uniform Cartesian field",
        "coordinates": "right-handed Cartesian x,y,z",
        "units": "SI",
        "static": true,
        "derivative_step_m": 0.0001,
        "magnetic_floor_T": 1e-14,
        "provenance": {
          "gauge": "A=B cross x/2; Phi=-E dot x",
          "geometry": "uniform",
          "B_T": [
            0.0,
            0.0,
            1.0
          ],
          "E_V_per_m": [
            0.0,
            0.0,
            0.0
          ]
        }
      },
      "full_termination": "completed",
      "gc_termination": "completed",
      "gc_energy_residual_max": 2.2204460492503126e-16,
      "gc_P_phi_residual_max": 0.0,
      "ordering_warning": false,
      "rho_over_L_B_max": 0.0,
      "orbit_class": "no_resolved_turn",
      "bounce_cycles": [],
      "bounce_period_s": [],
      "transit_period_s": [],
      "fidelity": "independent centered Boris and Hamiltonian GC integration; analytic benchmark field"
    },
    {
      "id": "mirror",
      "builder": "magnetic_mirror",
      "static": "mirror.svg",
      "animation": "mirror.gif",
      "quantitative_panels": "mirror-diagnostics.png",
      "animated_panels": "mirror-diagnostics.gif",
      "driver": {
        "name": "time",
        "unit": "s",
        "values": [
          0.0,
          14.545454545454545,
          29.09090909090909,
          43.63636363636363,
          58.18181818181818,
          72.72727272727272,
          87.27272727272727,
          101.81818181818181,
          116.36363636363636,
          130.9090909090909,
          145.45454545454544,
          160.0
        ]
      },
      "case": "magnetic_mirror",
      "field": {
        "name": "solenoidal parabolic magnetic mirror",
        "coordinates": "right-handed Cartesian x,y,z",
        "units": "SI",
        "static": true,
        "derivative_step_m": null,
        "magnetic_floor_T": 1e-14,
        "provenance": {
          "gauge": "A=(-y f/2,x f/2,0)",
          "length_m": 10.0,
          "B_min_T": 1.0,
          "B0_T": 1.0,
          "nominal_end_ratio": 2.0,
          "on_axis_arc_coordinate": "z"
        }
      },
      "full_termination": "completed",
      "gc_termination": "completed",
      "gc_energy_residual_max": 4.625929269271485e-16,
      "gc_P_phi_residual_max": 0.0,
      "ordering_warning": false,
      "rho_over_L_B_max": 0.035232858023732765,
      "orbit_class": "trapped_candidate",
      "bounce_cycles": [
        {
          "start_s": 28.088885412271075,
          "end_s": 140.44442571594016,
          "period_s": 112.35554030366907,
          "action_J_s": 2.655419025067328,
          "closure_relative": 4.0614036912103985e-06,
          "arc_velocity_relative_error": 0.00031981049072327995
        }
      ],
      "bounce_period_s": [],
      "transit_period_s": [],
      "fidelity": "independent centered Boris and Hamiltonian GC integration; analytic benchmark field"
    },
    {
      "id": "full-gc",
      "builder": "grad_b_drift",
      "static": "full-gc.svg",
      "animation": "full-gc.gif",
      "quantitative_panels": "full-gc-diagnostics.png",
      "animated_panels": null,
      "driver": {
        "name": "time",
        "unit": "s",
        "values": [
          0.0,
          9.090909090909092,
          18.181818181818183,
          27.272727272727273,
          36.36363636363637,
          45.45454545454546,
          54.54545454545455,
          63.63636363636364,
          72.72727272727273,
          81.81818181818183,
          90.90909090909092,
          100.0
        ]
      },
      "case": "grad_b_drift",
      "field": {
        "name": "divergence-free slab gradient",
        "coordinates": "right-handed Cartesian x,y,z",
        "units": "SI",
        "static": true,
        "derivative_step_m": null,
        "magnetic_floor_T": 1e-14,
        "provenance": {
          "gauge": "Ay=B0(x+x^2/(2L))",
          "length_m": 30.0,
          "B0_T": 1.0
        }
      },
      "full_termination": "completed",
      "gc_termination": "completed",
      "gc_energy_residual_max": 2.2204460492503126e-16,
      "gc_P_phi_residual_max": 0.0,
      "ordering_warning": false,
      "rho_over_L_B_max": 0.03158342080669582,
      "orbit_class": "no_resolved_turn",
      "bounce_cycles": [],
      "bounce_period_s": [],
      "transit_period_s": [],
      "fidelity": "independent centered Boris and Hamiltonian GC integration; analytic benchmark field"
    },
    {
      "id": "invariants",
      "builder": "guiding_center_invariants",
      "static": "invariants.svg",
      "animation": "invariants.gif",
      "quantitative_panels": "mirror-diagnostics.png",
      "animated_panels": "mirror-diagnostics.gif",
      "driver": {
        "name": "time",
        "unit": "s",
        "values": [
          0.0,
          14.545454545454545,
          29.09090909090909,
          43.63636363636363,
          58.18181818181818,
          72.72727272727272,
          87.27272727272727,
          101.81818181818181,
          116.36363636363636,
          130.9090909090909,
          145.45454545454544,
          160.0
        ]
      },
      "case": "magnetic_mirror",
      "field": {
        "name": "solenoidal parabolic magnetic mirror",
        "coordinates": "right-handed Cartesian x,y,z",
        "units": "SI",
        "static": true,
        "derivative_step_m": null,
        "magnetic_floor_T": 1e-14,
        "provenance": {
          "gauge": "A=(-y f/2,x f/2,0)",
          "length_m": 10.0,
          "B_min_T": 1.0,
          "B0_T": 1.0,
          "nominal_end_ratio": 2.0,
          "on_axis_arc_coordinate": "z"
        }
      },
      "full_termination": "completed",
      "gc_termination": "completed",
      "gc_energy_residual_max": 4.625929269271485e-16,
      "gc_P_phi_residual_max": 0.0,
      "ordering_warning": false,
      "rho_over_L_B_max": 0.035232858023732765,
      "orbit_class": "trapped_candidate",
      "bounce_cycles": [
        {
          "start_s": 28.088885412271075,
          "end_s": 140.44442571594016,
          "period_s": 112.35554030366907,
          "action_J_s": 2.655419025067328,
          "closure_relative": 4.0614036912103985e-06,
          "arc_velocity_relative_error": 0.00031981049072327995
        }
      ],
      "bounce_period_s": [],
      "transit_period_s": [],
      "fidelity": "independent centered Boris and Hamiltonian GC integration; analytic benchmark field"
    },
    {
      "id": "tokamak",
      "builder": "trapped_and_passing_orbits",
      "static": null,
      "animation": "tokamak.gif",
      "quantitative_panels": "tokamak-diagnostics.png",
      "animated_panels": null,
      "driver": {
        "name": "time",
        "unit": "s",
        "values": [
          0.0,
          90.9090909090909,
          181.8181818181818,
          272.72727272727275,
          363.6363636363636,
          454.5454545454545,
          545.4545454545455,
          636.3636363636364,
          727.2727272727273,
          818.1818181818181,
          909.090909090909,
          1000.0
        ]
      },
      "case": "tokamak_trapped",
      "field": {
        "name": "analytic toroidal orbit benchmark",
        "coordinates": "right-handed Cartesian x,y,z",
        "units": "SI",
        "static": true,
        "derivative_step_m": 0.0001,
        "magnetic_floor_T": 1e-14,
        "provenance": {
          "gauge": "A_phi=psi/R; A_z specified in toroidal_particle_field",
          "R0_m": 3.0,
          "B0_T": 3.0,
          "poloidal_T": 1.35,
          "perturbation": 0.0,
          "mode": 6,
          "axisymmetric": true,
          "minor_radius_m": 0.95
        }
      },
      "full_termination": "completed",
      "gc_termination": "completed",
      "gc_energy_residual_max": 1.6866736407513482e-15,
      "gc_P_phi_residual_max": 1.3852316457581215e-14,
      "ordering_warning": false,
      "rho_over_L_B_max": 0.012141497008239929,
      "orbit_class": "trapped_candidate",
      "bounce_cycles": [],
      "bounce_period_s": [
        648.3124064803408
      ],
      "transit_period_s": [],
      "fidelity": "independent centered Boris and Hamiltonian GC integration; analytic benchmark field"
    },
    {
      "id": "symmetry-breaking",
      "builder": "toroidal_symmetry_breaking",
      "static": null,
      "animation": "symmetry-breaking.gif",
      "quantitative_panels": "symmetry-breaking-diagnostics.png",
      "animated_panels": null,
      "driver": {
        "name": "time",
        "unit": "s",
        "values": [
          0.0,
          90.9090909090909,
          181.8181818181818,
          272.72727272727275,
          363.6363636363636,
          454.5454545454545,
          545.4545454545455,
          636.3636363636364,
          727.2727272727273,
          818.1818181818181,
          909.090909090909,
          1000.0
        ]
      },
      "case": "symmetry_breaking",
      "field": {
        "name": "analytic toroidal orbit benchmark",
        "coordinates": "right-handed Cartesian x,y,z",
        "units": "SI",
        "static": true,
        "derivative_step_m": 0.0001,
        "magnetic_floor_T": 1e-14,
        "provenance": {
          "gauge": "A_phi=psi/R; A_z specified in toroidal_particle_field",
          "R0_m": 3.0,
          "B0_T": 3.0,
          "poloidal_T": 1.35,
          "perturbation": 0.02,
          "mode": 6,
          "axisymmetric": false,
          "minor_radius_m": 0.95
        }
      },
      "full_termination": "completed",
      "gc_termination": "completed",
      "gc_energy_residual_max": 9.638253251657836e-16,
      "gc_P_phi_residual_max": 0.6607773861929012,
      "ordering_warning": false,
      "rho_over_L_B_max": 0.01573484021744984,
      "orbit_class": "trapped_candidate",
      "bounce_cycles": [],
      "bounce_period_s": [
        196.94820299692776,
        198.93962299253644,
        202.4208745228927,
        207.08155282558266
      ],
      "transit_period_s": [],
      "fidelity": "independent centered Boris and Hamiltonian GC integration; analytic benchmark field"
    }
  ]
}
