You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+16-10
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
# What is TORAX?
4
4
5
-
TORAX is a differentiable tokamak core transport simulator aimed for fast and accurate forward modelling, pulse-design, trajectory optimization, and controller design workflows. TORAX is written in Python-JAX, with the following motivations:
5
+
TORAX is a differentiable tokamak core transport simulator aimed for fast and accurate forward modelling, pulse-design, trajectory optimization, and controller design workflows. TORAX is written in Python using JAX, with the following motivations:
6
6
7
7
- Open-source and extensible, aiding with flexible workflow coupling
8
8
- JAX provides auto-differentiation capabilities and code compilation for fast runtimes. Differentiability allows for gradient-based nonlinear PDE solvers for fast and accurate modelling, and for sensitivity analysis of simulation results to arbitrary parameter inputs, enabling applications such as trajectory optimization and data-driven parameter identification for semi-empirical models. Auto-differentiability allows for these applications to be easily extended with the addition of new physics models, or new parameter inputs, by avoiding the need to hand-derive Jacobians
@@ -14,14 +14,15 @@ TORAX now has the following physics feature set:
14
14
15
15
- Coupled PDEs of ion and electron heat transport, electron particle transport, and current diffusion
16
16
- Finite-volume-method
17
-
- Multiple solver options: linear with Pereverzev-Corrigan terms, nonlinear with Newton-Raphson, nonlinear with optimization using the jaxopt library
18
-
- Ohmic power, ion-electron heat exchange, fusion power, bootstrap current with the analytical Sauter model
19
-
- Time dependent boundary conditions and sources
17
+
- Multiple solver options: linear with Pereverzev-Corrigan terms and the predictor-corrector method, nonlinear with Newton-Raphson, nonlinear with optimization using the jaxopt library
18
+
- Ohmic power, ion-electron heat exchange, fusion power, Bremsstrahlung, and bootstrap current with the analytical Sauter model
19
+
- Time dependent boundary conditions, sources, geometry.
20
20
- Coupling to the QLKNN10D [[van de Plassche et al, Phys. Plasmas 2020]](https://doi.org/10.1063/1.5134126) QuaLiKiz-neural-network surrogate for physics-based turbulent transport
21
-
- General geometry, provided via CHEASE equilibrium files
21
+
- General geometry, provided via CHEASE or FBT equilibrium files
22
22
- For testing and demonstration purposes, a single CHEASE equilibrium file is available in the data/geo directory. It corresponds to an ITER hybrid scenario equilibrium based on simulations in [[Citrin et al, Nucl. Fusion 2010]](https://doi.org/10.1088/0029-5515/50/11/115007), and was obtained from [PINT](https://gitlab.com/qualikiz-group/pyntegrated_model). A PINT license file is available in data/geo.
23
+
- Time dependent geometry is supported by provided a time series of geometry files
23
24
24
-
Additional heating and current drive sources can be provided by prescribed formulas, or user-provided analytical models.
25
+
Additional heating and current drive sources can be provided by prescribed formulas, user-provided analytical models, or user-provided prescribed data.
25
26
26
27
Model implementation was verified through direct comparison of simulation outputs to the RAPTOR [[Felici et al, Plasma Phys. Control. Fusion 2012]](https://iopscience.iop.org/article/10.1088/0741-3335/54/2/025002) tokamak transport simulator.
27
28
@@ -31,10 +32,8 @@ This is not an officially supported Google product.
31
32
32
33
Short term development plans include:
33
34
34
-
- Time dependent geometry
35
-
- More flexible initial conditions
35
+
- Extension of and more flexible data structures for prescribed input data
36
36
- Implementation of forward sensitivity calculations w.r.t. control inputs and parameters
37
-
- Implementation of persistent compilation cache for CPU
38
37
- More extensive documentation and tutorials
39
38
- Visualisation improvements
40
39
@@ -44,7 +43,6 @@ Longer term desired features include:
Copy file name to clipboardExpand all lines: docs/configuration.rst
+50-2
Original file line number
Diff line number
Diff line change
@@ -356,7 +356,7 @@ geometry
356
356
--------
357
357
358
358
``geometry_type`` (str = 'chease')
359
-
Geometry model used. There are currently two options:
359
+
Geometry model used. There are currently three options:
360
360
361
361
* ``'circular'``
362
362
An ad-hoc circular geometry model. Includes elongation corrections.
@@ -365,7 +365,8 @@ geometry
365
365
* ``'chease'``
366
366
Loads a CHEASE geometry file.
367
367
368
-
Time dependent geometry is not currently supported, but is on the immediate-term roadmap.
368
+
* ``'fbt'``
369
+
Loads FBT geometry files.
369
370
370
371
``nrho`` (int = 25)
371
372
Number of radial grid points
@@ -374,6 +375,15 @@ Time dependent geometry is not currently supported, but is on the immediate-term
374
375
Only used for ``geometry_type='chease'``. Sets the geometry file loaded.
375
376
The geometry directory is set with the ``TORAX_GEOMETRY_DIR`` environment variable. If none is set, then the default is ``torax/data/third_party/geo``.
376
377
378
+
``LY_file`` (str = None)
379
+
Only used for ``geometry_type='fbt'``. Sets the FBT LY geometry file loaded.
380
+
381
+
``L_file`` (str = None)
382
+
Only used for ``geometry_type='fbt'``. Sets the FBT L geometry file loaded.
0 commit comments