Skip to main content

pyAQSC

This code constructs globally quasi-symmetric stellarator equilibria with anisotropic pressure near axis expansion to any order.

Documentations

Click here to read pyAQSC documentations.

Dependencies

The python codes requires Numpy, Matplotlib, and JAX. To install a JAX version matching your hardware, see the official JAX installation guide.

The Maxima notebooks requires wxMaxima to view. The notebooks are not required to run the main code, but contains source expressions much of code is parsed from.

Repository structure and files

├── README.MD
├── test_data_eduardo/              -> Known leading order terms for some equilibria.
├── docs/                           -> Documentations
├── dist/                           -> Built python package
├── examples/                       -> Jupyter notebooks with use cases for the code.
├── magnetic_recursion_relations/   -> Maxima notebooks for iterating the
│   │                                  magnetic equations
│   ├── <Quantity name>.wxmx        -> Maxima notebooks for the recursion relations.
│   └── general_formulae/           -> Maxima notebooks directly expanding
│                                      the governing equations. for reference only.
├── MHD_recursion_relations/        -> Maxima notebooks for iterating the
│   │                                  magnetic and force balance equations
│   ├── looped.lisp                 -> Variables associated with the "looped equation"[2].
│   │                                  see Looped.wxmx and Looped study simplified.wxmx
│   │                                  see for details.
│   ├── <Quantity name>.wxmx        -> ...
│   └── general_formulae/           -> ...
│                                  
├── maxima_scripts/                 -> Maxima libraries
│   ├── near_axis_expansion.mac     -> Stores the governing equations and
│   │                                  variable dependencies.
│   ├── power_mode_matching/        -> A standalone, symbolic infinite/finite
│   │   │                              power/Fourier series order/mode matcher.
│   │   ├── power_matching.mac      -> The power series order matcher
│   │   └── trig_fourier_or... .mac -> The Fourier series mode matcher
│   ├── python_parser.mac           -> A code translating maxima summations
│   │                                  to python codes. Works with
│   │                                  python_source/math_utilities.py
│   ├── sbatch_maxima.mac           -> A code generating slurm jobscripts for
│   │                                  evaluating maxima expressions in parallel
│   └── test_cases/                 -> Test cases for Maxima scripts.
└── src/aqsc/                       -> Python source for the main code.
    ├── __init__.py                 
    ├── config.py                   -> Configurations. (numerical, run-time, ...)
    ├── equilibrium.py              -> Contains the Equilibrium object that manages
    │                                  the iteration of an equilibrium represented
    │                                  by near axis expansion. Also contains wrappers
    │                                  for methods in parsed/ and MHD_parsed/.
    ├── chiphiepsfunc.py            -> A list-like data structure for storing power coeffs.
    ├── chiphifunc.py               -> A data structure representing f(chi,phi)
    │                                  as chi Fourier coeffs on phi grids, implementation
    │                                  for operators, and some solvers/utilities.
    ├── chiphifunc_test_suite.py    -> Useful functions for testing and plotting.
    ├── math_utilities.py           -> More numerical operations needed to run
    │                                  python methods in python_source/parsed/
    ├── looped_solver.py            -> Solver for the "looped equations" [2, 3]
    ├── parsed/                     -> Parsed expressions for the magnetic-only
    │                                  recursion relations [1]. All generated by notebooks
    ├── looped_coefs/               -> Coefficients in the looped equations.
    └── MHD_parsed/                 -> Parsed expressions for the full (magnetic and
                                               force balance) recursion relations [2]. All
                                               generated by notebooks in MHD_recursion_relations/

References

  1. Weakly Quasisymmetric Near-Axis Solutions to all Orders
  2. Solving the problem of overdetermination of quasisymmetric equilibrium solutions by near-axis expansions. I. Generalized force balance
  3. Solving the problem of overdetermination of quasisymmetric equilibrium solutions by near-axis expansions. II. Circular axis stellarator solutions
  4. pyQSC

Metadata

Release files for aqsc 0.1.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aqsc 0.1.10
File Size Uploaded
aqsc-0.1.10.tar.gz 129.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aqsc 0.1.10
File Interpreter ABI Platform
aqsc-0.1.10-py3-none-any.whl Python 3 none any Details

Total release size: 259.7 kB

Release files / aqsc-0.1.10.tar.gz

Download URL aqsc-0.1.10.tar.gz
Size 129.6 kB
Tags Source
SHA-256 checksum
How to use checksums
6ef8b5bb2e06975f2629fe3442bbe7c3ccb2141f550f3e046969da7aa8672e60
BLAKE2b-256 checksum
How to use checksums
7fd38041b5770e62156caa8ca6566bd1a807958320410c4b859fe869f419a921
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / aqsc-0.1.10-py3-none-any.whl

Download URL aqsc-0.1.10-py3-none-any.whl
Size 130.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7166b8491e20dd18e75cf8989de31d1c5fde8e2b001171c9870956f7d78c12e2
BLAKE2b-256 checksum
How to use checksums
d4f2acbcb7f160f759f2cab17f6a76df1d0ae397a214cb8bb881dc5472a23e84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release history Release notifications | RSS feed

This release

0.1.10 This release

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page