Giter Club home page Giter Club logo

shjshj333 / stellopt Goto Github PK

View Code? Open in Web Editor NEW

This project forked from princetonuniversity/stellopt

0.0 0.0 0.0 213.21 MB

This is the GitHub repository for STELLOPT, the state-of-the-art stellarator optimization code.

Home Page: https://princetonuniversity.github.io/STELLOPT/

License: MIT License

Shell 0.05% C++ 0.10% Python 2.80% Fortran 91.88% Awk 0.01% TeX 0.18% Gnuplot 0.01% Makefile 0.81% HTML 0.01% Jupyter Notebook 2.95% Dockerfile 0.01% NASL 1.22%

stellopt's Introduction

INSTALLATION

This version of STELLOPT makes use of make_***.inc files in the SHARE subdirectory to set various options at compile time. The make.inc file in the main directory is a script which picks these files based on what is returned by the uname -n command on your machine. This can be overridden by setting the environment variable MACHINE to the file you wish to use. For example to use SHARE/make_bobdole.inc you would set MACHINE=bobdole before calling the build scripts. It is also important to set STELLOPT_PATH to the path to your current directory where you've pulled the repository.

Once you configure the environment variables, you can begin to compile the code by

 ./build_all 

By default, it will compile all the codes in the folder with the option clean_release. You can customize the script by providing additional commandline arguments, like ./build_all -o release -j 4 STELLOPTV2. To check the options, type ./build_all -h.

There is also a Docker image available for use at https://hub.docker.com/r/zhucaoxiang/stellopt.

For more information, please view STELLOPT compilation.

EDITING CODE

Once a working copy is developed for your computer, you are welcome to push it back to the main repository for other users. You can ask for a write permission and push your changes into a remote branch. Then submit a pull request through GitHub.

Or you can share your changes via git fork, which doesn't require you have the write permission.

GitHub actions will be triggered by each push and pull-request. The code will be compiled with debug option and you can check the full log at GitHub actions.

UTILITIES

A Python interface using CTYPES is also included but it requires a static shared build of LIBSTELL. This is still a highly experimental option. You can find the python scripts at ./pySTEL.

There are also some other plotting packages developed by group members. Here are some examples.

  • matlabVMEC: MATLAB packages for various codes.
  • coilpy: Python package for toroidal Fourier surface, coils, FOCUS and STELLOPT.

If you are willing to share your code, please add your contributions here.

REPORT BUGS

If you find any bugs or have any suggestions, please submit an issue through GitHub issues. You are suggested to provide detailed description and assign someone when creating an issue.

DOCUMENTATION

You can find some wiki pages at GitHub pages. This is automatically generated from the markdown source files in the gh-pages branch. You are welcome to report/fix/update the wiki pages.

stellopt's People

Contributors

lazersos avatar lvanham avatar kudav avatar dionengels avatar jcschmitt avatar jbreslau avatar zhucaoxiang avatar landreman avatar amicitas avatar jonathanschilling avatar leebr48 avatar yaozhou1989 avatar mtware avatar smiet avatar krystophny avatar ejpaul avatar jons-pf avatar

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.