Copyright and credits

Licence · provenance · acknowledgements · references

This page states three things: the copyright and licence of this project, the provenance of each physics module, and the work that is owed acknowledgement. The per-file attribution of record is the repository NOTICE; this page is its readable summary, and every statement made here should be traceable to NOTICE or ACKNOWLEDGEMENTS.md.

Copyright and licence

fylite is developed at the Institute of Plasma Physics, Chinese Academy of Sciences (ASIPP) and released under the Apache License 2.0. Use, modification and redistribution are permitted, commercial use included, provided the copyright notice and NOTICE are retained and the changes made are stated.

fylite
Copyright 2026 Institute of Plasma Physics, Chinese Academy of Sciences (ASIPP)
and the fylite contributors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

★This page — the browser demos under app/ — and the .wasm kernels it loads are under the same licence: the kernels are compiled from this repository's Rust sources, and each artifact's sha256 and provenance are recorded in the repository documentation, so they can be checked byte for byte.

The parent project: FyTok

fylite is the lightweight edition of FyTok, its parent project (also Apache-2.0, Institute of Plasma Physics, Chinese Academy of Sciences): a full tokamak integrated-modelling framework in Python, with plugins, workflow scheduling, heterogeneous execution and provenance, aimed at HPC and the cloud. Both implement the fyo semantic contract; fylite takes the light end — the key solvers rewritten in Rust and run in the browser through WebAssembly with nothing to install — and doubles as FyTok's minimal functional verification: the two are coded independently against the same contract, so comparing them is a cross-check rather than a code confirming itself. The core-transport channel grammar is taken from FyTok's fytrans (see the table below), which is also the bit-for-bit anchor of the transport step.

Ports and provenance

The modules below are white-box translations of upstream code, not independent reimplementations from the literature. The distinction is a licence obligation and is therefore stated in the body of this page rather than in a footnote.

Upstream Authors / institution Licence What fylite took
GACODE — GEOJ. Candy (General Atomics)Apache-2.0 local flux-surface geometry (Miller-class shape and metric)
GACODE — NEOE. Belli, J. Candy (General Atomics)Apache-2.0 analytic neoclassical models and the drift-kinetic solve
GACODE — TGLFG. M. Staebler et al. (General Atomics)Apache-2.0 the gyro-Landau-fluid model, FLR fit tables, trapped-closure tables
GACODE — TGYRO / exproGeneral Atomics and the GACODE contributorsApache-2.0 NEO / TGLF input maps, sources and radiation, volume integrals, the input.gacode reader
NCLASSW. A. Houlbergvia NEO neoclassical coefficients as carried by NEO
METISJ. F. Artaud et al. (CEA/IRFM)CeCILL-C the fast neutral-beam model: chord attenuation, Janev stopping cross-sections, Stix critical energy and beam-driven current
FyTok — fytransInstitute of Plasma Physics, CAS (fylite's parent project)Apache-2.0 the channel declaration grammar, kept identical so a declaration round-trips between the parent project and this one; the 1.5-D transport core is anchored bit-for-bit against it

Statement of changes (Apache-2.0 §4b): the ports are translations, not copies — module state becomes explicit arguments, LAPACK / UMFPACK become in-tree dense and sparse routines, upstream STOP becomes an error code, and the result is re-entrant. Several points deliberately differ from upstream behaviour, mostly where the upstream silently overrides its own inputs; each is marked at its use site in the source.

Two GACODE revisions coexist, deliberately: GEO / NEO / TGYRO derive from 5efddfdf1 and TGLF from 6357db306, matching the two libraries the ports were checked against. UMFPACK was not translated — the sparse LU here is written from scratch.

Data, oracles and cross-code anchors

How this code was built

The physics modules of fylite were constructed from the public literature and open-source code listed above, with AI assistance (Anthropic Claude). Correctness is not claimed from authorship: it is established module by module against gold fixtures from the upstream implementations, with the tolerance and its error budget stated. fylite additionally exposes its own interfaces to AI hosts (MCP / JSON-RPC); that is a product feature and a separate matter from how it was written.

Acknowledgements

This project rests on physics, code and data that others made public. The debts are acknowledged item by item:

★If you find work of yours used here and not named, please open an issue — the omission is an error, not a choice.

References

Every method used on this site is published method. ★This section previously sat on the entrance page and now lives here: provenance and acknowledgement are one subject and should not be maintained in two places.

Equilibrium and reconstruction

Transport and turbulence

0-D modelling, sources and atomic data

The full texts

This page is a summary. The binding, per-file statements are in the repository:

Repository: github.com/fusion-yun/fylite