nekstab

An open source toolbox based on Krylov methods for highly parallel global linear stability analysis of incompressible flow problems for Nek5000.

https://github.com/nekstab/nekstab

Science Score: 67.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
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.6%) to scientific vocabulary

Keywords

baseflow-computation cfd eigenvalue-problem nek5000 periodic-orbits sensitivity-analysis stability-analysis
Last synced: 6 months ago · JSON representation ·

Repository

An open source toolbox based on Krylov methods for highly parallel global linear stability analysis of incompressible flow problems for Nek5000.

Basic Info
  • Host: GitHub
  • Owner: nekStab
  • License: bsd-3-clause
  • Language: Fortran
  • Default Branch: main
  • Homepage:
  • Size: 449 MB
Statistics
  • Stars: 16
  • Watchers: 2
  • Forks: 8
  • Open Issues: 20
  • Releases: 3
Topics
baseflow-computation cfd eigenvalue-problem nek5000 periodic-orbits sensitivity-analysis stability-analysis
Created about 5 years ago · Last pushed 8 months ago
Metadata Files
Readme License Citation Authors

README.md

GCC Documentation status

nekStab is a toolbox for performing bifurcation analysis using the spectral element CFD solver Nek5000. It is released under the BSD-3-Clause license.

The project started in 2010 with the PhD thesis of Jean-Christophe Loiseau and builds on the work of former PhD students of our group such as Frédéric Alizard, Stefania Cherubini, Alessandro Bucci, Mirko Farano, Francesco Picella and Ricardo Frantz. Ricardo is the one who brought all the previous contributions together in a single toolbox.

It is actively maintained mainly by Ricardo Frantz and Jean-Christophe Loiseau. Both of them work at DynFluid, a fluid dynamics laboratory part of Arts et Métiers Institute of Technology.

News

  • February 2022: The first official version of 'nekStab' is available online! It is released under the BSD-3-Clause license. Do not hesitate to contact us, have a look at the documentation or read the release notes if you want to know more.

First Steps

nekStab is a toolbox written in 'Fortran 90' for the spectral element solver Nek500. If you already have C and Fortran compilers, you can install both on Ubuntu/Debian distributions with the following commands.

Prerequisites

Linux bash sudo apt-get -y install libmpich-dev libopenblas-dev cmake m4 htop MacOS bash brew install mpich gfortran wget git cmake htop

Cloning the repository and Nek5000

bash git clone --depth=50 https://github.com/nekStab/nekStab.git cd nekStab ./Nek5000clone.sh

Run vim $HOME/.bashrc and add the following : bash export NEKSTAB_SOURCE_ROOT=$HOME/nekStab export NEK_SOURCE_ROOT=$NEKSTAB_SOURCE_ROOT/Nek5000 export PATH=$NEK_SOURCE_ROOT/bin:$PATH export PATH=$NEKSTAB_SOURCE_ROOT/bin:$PATH

Computing the fixed point for the cylinder flow example using the Newton-Krylov solver on 4 processors is as simple as

Go to a given example folder and compile the code: bash cd ~/nekStab/examples/cylinder/baseflow/newton ./cmpile.sh all alternatively you can compile with makeneks followed by the case name: bash makeneks 1cyl

If 'Compilation successful!' then you can run the code: bash nekbmpi 1cyl 4 to follow the code output in the logfile try: bash tail -f logfile To stop the code just: bash killall nek5000

For more information on compiling the code on Mac OS or optional packages, see the Documentation.

Development

nekStab is mainly developed by Jean-Christophe Loiseau and Ricardo Frantz. However, we welcome contributors of all levels of experience. If you are planning a larger contribution, we encourage you to discuss the concept here on GitHub and to interact with us regularly to ensure your efforts are targeted.

Help and support

Although nekStab relies on Nek5000, none of us are active developers of Nek5000. If you have questions about Nek5000, please contact the dedicated GitHub repo and documentation

Communication

Citation

When using nekStab, please consider citing one of the following papers :

  • Frantz et al. (2023) presents the complete theoretical framework underlying nekStab. bibtex @article{frantz2023krylov, author = {Frantz, R. A. S. and Loiseau, J.-Ch. and Robinet, J.-Ch.}, title = "{Krylov Methods for Large-Scale Dynamical Systems: Application in Fluid Dynamics}", journal = {Applied Mechanics Reviews}, volume = {75}, number = {3}, year = {2023}, month = {03}, issn = {0003-6900}, doi = {10.1115/1.4056808}, url = {https://doi.org/10.1115/1.4056808}, note = {030802}, eprint = {https://asmedigitalcollection.asme.org/appliedmechanicsreviews/article-pdf/75/3/030802/6996354/amr\_075\_03\_030802.pdf}, }

  • Loiseau et al. (2019) presents most of the theoretical framework underlying nekStab. bibtex @incollection{chapter:loiseau:2019, title={Time-stepping and Krylov methods for large-scale instability problems}, author={Loiseau, J.-Ch. and Bucci, M. A. and Cherubini, S. and Robinet, J.-Ch.}, booktitle={Computational Modelling of Bifurcations and Instabilities in Fluid Dynamics}, pages={33--73}, year={2019}, publisher={Springer} }

  • Loiseau et al. (J. Fluid Mech., 2014) describes the first implementation of the Arnoldi solver in Nek5000. bibtex @article{jfm:loiseau:2014, title={Investigation of the roughness-induced transition: global stability analyses and direct numerical simulations}, author={Loiseau, J.-Ch. and Robinet, J.-Ch. and Cherubini, S. and Leriche, E.}, journal={J. Fluid Mech.}, volume={760}, pages={175--211}, year={2014}, }

Owner

  • Name: nekStab
  • Login: nekStab
  • Kind: organization
  • Location: France

General linear stability framework based on Nek5000

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use our package, please cite it as below."
authors:
- family-names: "Frantz"
  given-names: "R. A. S."
  orcid: "https://orcid.org/0000-0001-8219-3368"
- family-names: "Loiseau"
  given-names: "J.-Ch."
  orcid: "https://orcid.org/0000-0002-7244-8416"
- family-names: "Robinet"
  given-names: "J.-Ch."
  orcid: "https://orcid.org/0000-0002-3529-6003"
title: "nekStab : global stability analysis toolbox for nek5000"
version: 1.1.0
doi: 10.1115/1.4056808
date-released: 2023-01-01
url: "https://github.com/nekStab"

GitHub Events

Total
  • Watch event: 2
  • Push event: 35
  • Fork event: 1
Last Year
  • Watch event: 2
  • Push event: 35
  • Fork event: 1

Dependencies

.github/workflows/gcc.yml actions
  • actions/checkout v2 composite
.github/workflows/intel.yml actions
  • actions/checkout v2 composite