Metadata-Version: 2.1
Name: simsopt
Version: 0.7.0
Summary: Simplified framework for optimizing stellarators
Home-page: https://github.com/hiddenSymmetries/simsopt
Author: "Matt Landreman, Bharat Medasani, Florian Wechsung"
Author-email: mattland@umd.edu, mbkumar@gmail.com, wechsung@nyu.edu
Maintainer: "Bharat Medasani"
Maintainer-email: mbkumar@gmail.com
License: GNU Lesser General Public License Version 3
Download-URL: https://pypi.org/project/simsopt
Project-URL: Bug Tracker, https://github.com/hiddenSymmetries/simsopt/issues
Project-URL: Documentation, https://simsopt.readthedocs.io
Project-URL: Source Code, https://github.com/hiddenSymmetries/simsopt/archive/master.zip
Description: # simsopt
        
        ![GitHub](https://img.shields.io/github/license/hiddensymmetries/simsopt)
        [![codecov](https://codecov.io/gh/hiddenSymmetries/simsopt/branch/master/graph/badge.svg?token=ltN6qonZ5p)](https://codecov.io/gh/hiddenSymmetries/simsopt)
        [![DOI](https://zenodo.org/badge/247710081.svg)](https://zenodo.org/badge/latestdoi/247710081)
        
        ![SIMSOPT](docs/source/logo.png)
        ![SIMSOPT](docs/source/coils_and_surfaces.png)
        
        `simsopt` is a framework for optimizing
        [stellarators](https://en.wikipedia.org/wiki/Stellarator).
        The high-level routines of `simsopt` are in python, with calls to C++
        or fortran where needed for performance. Several types of components
        are included:
        
        - Interfaces to physics codes, e.g. for MHD equilibrium.
        - Tools for defining objective functions and parameter spaces for
          optimization.
        - Geometric objects that are important for stellarators - surfaces and
          curves - with several available parameterizations.
        - Efficient implementations of the Biot-Savart law and other magnetic
          field representations, including derivatives.
        - Tools for parallelized finite-difference gradient calculations.
        
        The design of `simsopt` is guided by several principles:
        
        - Thorough unit testing, regression testing, and continuous
          integration.
        - Extensibility: It should be possible to add new codes and terms to
          the objective function without editing modules that already work,
          i.e. the [open-closed principle](https://en.wikipedia.org/wiki/Open%E2%80%93closed_principle).
          This is because any edits to working code can potentially introduce bugs.
        - Modularity: Physics modules that are not needed for your
          optimization problem do not need to be installed. For instance, to
          optimize SPEC equilibria, the VMEC module need not be installed.
        - Flexibility: The components used to define an objective function can
          be re-used for applications other than standard optimization. For
          instance, a `simsopt` objective function is a standard python
          function that can be plotted, passed to optimization packages
          outside of `simsopt`, etc.
        
        `simsopt` is fully open-source, and anyone is welcome to use it, make
        suggestions, and contribute.
        
        Several methods are available for installing `simsopt`. One
        recommended approach is to use pip:
        
            pip install simsopt
        
        For detailed installation instructions on some specific systems, see
        [the wiki](https://github.com/hiddenSymmetries/simsopt/wiki).
        Also, a Docker container is available with `simsopt` and its components pre-installed, which
        can be started using
        
            docker run -it --rm hiddensymmetries/simsopt
        
        More [installation
        options](https://simsopt.readthedocs.io/en/latest/getting_started.html#),
        [instructions for the Docker
        container](https://simsopt.readthedocs.io/en/latest/docker.html), and
        other information can be found in the [main simsopt documentation
        here.](https://simsopt.readthedocs.io)
        
        Some of the physics modules with compiled code reside in separate
        repositories. These separate modules include
        
        - [VMEC](https://github.com/hiddenSymmetries/VMEC2000), for MHD
          equilibrium.
        - [SPEC](https://github.com/PrincetonUniversity/SPEC), for MHD
          equilibrium.
        - [booz_xform](https://hiddensymmetries.github.io/booz_xform), for
          Boozer coordinates.
          
        If you use `simsopt` in your research, kindly cite the code using
        [this reference](https://doi.org/10.21105/joss.03525):
        
        [1] M Landreman, B Medasani, F Wechsung, A Giuliani, R Jorge, and C Zhu,
            "SIMSOPT: A flexible framework for stellarator optimization",
            *J. Open Source Software* **6**, 3525 (2021).
        
        See also [the simsopt publications page](https://simsopt.readthedocs.io/en/latest/publications.html).
        
        We gratefully acknowledge funding from the [Simons Foundation's Hidden
        symmetries and fusion energy
        project](https://hiddensymmetries.princeton.edu). 
        
Keywords: plasma physics,plasma,magnetohydrodynamics,mhd,nuclear fusion reactor,fusion,stellarator,vmec,spec,optimization,Biot-Savart,magnetostatics
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: Linux
Classifier: Environment :: Console
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Description-Content-Type: text/markdown
Provides-Extra: SPEC
Provides-Extra: MPI
Provides-Extra: VIS
