stella
stella is a flux tube gyrokinetic code for micro-stability and turbulence simulations of strongly magnetised plasma.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.3%) to scientific vocabulary
Keywords
Repository
stella is a flux tube gyrokinetic code for micro-stability and turbulence simulations of strongly magnetised plasma.
Basic Info
- Host: GitHub
- Owner: stellaGK
- License: other
- Language: Fortran
- Default Branch: master
- Homepage: https://stellagk.github.io/stella/
- Size: 163 MB
Statistics
- Stars: 25
- Watchers: 8
- Forks: 14
- Open Issues: 48
- Releases: 5
Topics
Metadata Files
README.md
stella
stella solves the gyrokinetic-Poisson system of equations in the local limit using an operator-split, implicit-explicit numerical scheme. It is capable of evolving electrostatic fluctuations with fully kinetic electrons and an arbitrary number of ion species in general magnetic geometry, including stellarators.
Automatic documentation is created based on the stella code, however this is a work in progress.
https://stellagk.github.io/stella/
Table of contents
Dependencies
stella requires MPI, and has several optional dependencies:
- netCDF Fortran
- FFTW3
- LAPACK
Installation and Compilation
There are two ways to build stella: with CMake (experimental) or with
plain make.
CMake
Note: If you have previously built stella with plain make you
must run make clean before attempting to build with CMake, or the
existing built objects will interfere with the CMake build.
Building stella with CMake requires CMake >= 3.16. You can download
the latest version from the CMake
website, but it is often easier to
install with pip:
pip install cmake
Building stella is then a matter of first configuring the build:
cmake . -B COMPILATION/build_cmake
and then building proper:
cmake --build COMPILATION/build_cmake
You may need to pass a few flags to the first cmake command to tell
it where to find some dependencies:
cmake . -B build \
-DnetCDFFortran_ROOT=/path/to/netcdf/fortran
-DFFTW_ROOT=/path/to/fftw
There are a few build options:
STELLA_ENABLE_LAPACK: Enable LAPACK (default: on)STELLA_ENABLE_FFT: Enable FFTs (default: on)STELLA_ENABLE_NETCDF: Enable NetCDF (default: on)STELLA_ENABLE_DOUBLE: Promotes precisions of real and complex to double (default: on)STELLA_ENABLE_LOCAL_SPFUNC: Enable local special functions" (default: off)STELLA_ENABLE_NAGLIB: Use the NAG library (default: off)STELLA_ENABLE_POSIX: Enable POSIX functions for command line functionality (default: off)STELLA_ENABLE_F200X: Enable use of F2003/F2008 functionality (default: on)
You can turn these on or off with -D<option name>=ON/OFF. You can
get a complete list of options by running the following in a build
directory:
cmake -LH
Make
The other build system uses plain make:
- Set
GK_SYSTEM='system', withsystemreplaced by the appropriate system on which you are running. See theMakefilesdirectory for a list of supported systems. - Optionally, set the following environment variables to override the locations
in the
GK_SYSTEMMakefile:FFTW_LIB_DIR: directory containing libfftw3FFTW_INC_DIR: directory including fftw3.fNETCDF_LIB_DIR: directory containing libnetcdffNETCDF_INC_DIR: directory including netcdf.inc
- Set the environment variable
MAKEFLAGS=-IMakefiles, or set-IMakefileswhen you runmake - Run
make
For example, to compile on Ubuntu:
```bash
using bash:
export GKSYSTEM=gnuubuntu export MAKEFLAGS=-IMakefiles make
or in one line:
make -IMakefiles GKSYSTEM=gnuubuntu
If the exports of `GK_SYSTEM` and `MAKEFLAGS` are set, compiling stella is achieved through:
make
To `clean` the directory, the following commands exist:
make clean # removes compiled stella files, utils files and minilibstell files
make clean-quick # only removes the compiled stella files, not the utils and minilibstell files
make clean-submodules # clean + remove git_version, neasyf and pFUnit folders
make distclean # clean + remove stelle executable + invoke clean on pFUnit
```
Verification of stella output
Automated python tests are available to test the output of stella.
Set-up
The first time you want to run these tests, you need to install the python virtual environment:
make create-test-virtualenv
Next, activate the virtual environment:
source AUTOMATIC_TESTS/venv/bin/activate
Numerical tests
Run the automated python tests, which tests the numerical output of stella:
make numerical-tests
Owner
- Name: stellaGK
- Login: stellaGK
- Kind: organization
- Repositories: 1
- Profile: https://github.com/stellaGK
Citation (CITATION.cff)
# This file is a citation metadata file in the Citation File Format
# (http://citation-file-format.github.io/).
#
# It provides citation metadata for this version of stella
cff-version: 1.1.0
message: If you use stella in your work, please cite it using the following metadata.
title: stella
authors:
- family-names: Barnes
given-names: Michael
affiliation: University of Oxford
orcid: https://orcid.org/0000-0002-0177-1689
- family-names: St-Onge
given-names: Denis
affiliation: University of Oxford
orcid: https://orcid.org/0000-0003-3112-9221
- family-names: von Boetticher
given-names: Alexander
affiliation: University of Oxford
- family-names: Davies
given-names: Robert
affiliation: University of York
- family-names: García Regaña
given-names: José Manuel
affiliation: CIEMAT
orcid: https://orcid.org/0000-0001-7632-3357
- family-names: Dickinson
given-names: David
orcid: https://orcid.org/0000-0002-0868-211X
affiliation: University of York
- family-names: Dorland
given-names: William
orcid: https://orcid.org/0000-0003-2915-724X
affiliation: University of Maryland
- family-names: Hill
given-names: Peter Alec
orcid: https://orcid.org/0000-0003-3092-1858
affiliation: University of York
- family-names: Parker
given-names: Joseph Thomas
orcid: https://orcid.org/0000-0002-5573-6475
affiliation: United Kingdom Atomic Energy Authority
- family-names: Roach
given-names: Colin Malcolm
affiliation: Culham Centre for Fusion Energy
- family-names: Landreman
given-names: Matt
orcid: https://orcid.org/0000-0002-7233-577X
- family-names: Thienpondt
given-names: Hanne
- family-names: Numata
given-names: Ryusuke
- family-names: Parisi
given-names: Jason
affiliation: University of Oxford
orcid: https://orcid.org/0000-0003-1328-7154
- family-names: Hardman
given-names: Michael
- family-names: Kotschenreuther
given-names: Michael T.
affiliation: Institute for Fusion Studies, University of Texas
- family-names: Tatsuno
given-names: Tomo
repository-code: https://github.com/stellaGK/stella
GitHub Events
Total
- Create event: 40
- Issues event: 24
- Watch event: 3
- Delete event: 24
- Issue comment event: 30
- Member event: 1
- Push event: 277
- Pull request review event: 2
- Pull request review comment event: 1
- Pull request event: 28
- Fork event: 2
Last Year
- Create event: 40
- Issues event: 24
- Watch event: 3
- Delete event: 24
- Issue comment event: 30
- Member event: 1
- Push event: 277
- Pull request review event: 2
- Pull request review comment event: 1
- Pull request event: 28
- Fork event: 2
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 38
- Total pull requests: 42
- Average time to close issues: 23 days
- Average time to close pull requests: about 1 month
- Total issue authors: 11
- Total pull request authors: 9
- Average comments per issue: 0.26
- Average comments per pull request: 0.38
- Merged pull requests: 28
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 25
- Pull requests: 27
- Average time to close issues: 5 days
- Average time to close pull requests: 10 days
- Issue authors: 7
- Pull request authors: 7
- Average comments per issue: 0.16
- Average comments per pull request: 0.0
- Merged pull requests: 18
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- HanneThienpondt (26)
- mabarnes (3)
- physycola (1)
- mrhardman (1)
- SStroteich (1)
- rmchurch (1)
- ajchcoelho (1)
- bpatel2107 (1)
- jregana (1)
- valentin-seitz (1)
- GeorgiaActon (1)
Pull Request Authors
- HanneThienpondt (23)
- GeorgiaActon (11)
- mabarnes (2)
- daringli (1)
- mrhardman (1)
- bpatel2107 (1)
- valentin-seitz (1)
- lpodavini (1)
- Scottyujia (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- netCDF4 >=1.4.0 test
- numpy >=1.17 test
- pytest * test
- xarray * test
- actions/checkout v2 composite
- actions/setup-python v4 composite
- stefanzweifel/git-auto-commit-action v4 composite
- actions/checkout v2 composite
- actions/setup-python v1 composite
- stefanzweifel/git-auto-commit-action v4 composite
- actions/checkout v2 composite