GithubHelp home page GithubHelp logo

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

sudo apt-get -y install libmpich-dev libopenblas-dev cmake m4 htop

MacOS

brew install mpich gfortran wget git cmake htop

Cloning the repository and Nek5000

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

Run vim $HOME/.bashrc and add the following :

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:

cd ~/nekStab/examples/cylinder/baseflow/newton  
./cmpile.sh all

alternatively you can compile with makeneks followed by the case name:

makeneks 1cyl

If 'Compilation successful!' then you can run the code:

nekbmpi 1cyl 4

to follow the code output in the logfile try:

tail -f logfile

To stop the code just:

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 :

@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},
}
@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}
}
@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},
}

nekStab's Projects

lightkrylov icon lightkrylov

Lightweight implementation of Krylov subspace techniques in Fortran.

lightrom icon lightrom

Lightweight implementation of reduced-order modeling techniques for large-scale LTI systems in Fortran.

nekstab icon nekstab

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

nextstab icon nextstab

Experimental next version of our stability toolbox for Nek5000 based on LightKrylov library

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.