Giter VIP home page Giter VIP logo

pyaqsc's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.