Coder Social home page Coder Social logo

moulin2019al's Introduction

Augmented Lagrangian Preconditioner for Large-Scale Hydrodynamic Stability Analysis

A parallel implementation of the steady Navier–Stokes and eigenvalue solvers, developed in the FreeFEM language, suitably interfaced with the PETSc/SLEPc libraries.

The code available in this repository can reproduce the results from the following paper.

@article{moulin2019al,
    Author = {Moulin, Johann and Jolivet, Pierre and Marquet, Olivier},
    Title = {{Augmented Lagrangian Preconditioner for Large-Scale Hydrodynamic Stability Analysis}},
    Year = {2019},
    Volume = {351},
    Pages = {718--743},
    Journal = {Computer Methods in Applied Mechanics and Engineering},
    Publisher = {Elsevier},
    Url = {https://github.com/prj-/moulin2019al}
}

Getting started

Dependencies

Make sure you have access to a recent FreeFEM installation (version 4.3 or above), compiled with the PETSc and PETSc-complex (with SLEPc) plugins. More details about the PETSc and SLEPc options used in the solvers may be found in their respective manual.

Usage example

A small mesh is provided in the Mesh folder. One should be able to launch the following command, which solves the steady Navier–Stokes equations for a Reynolds number of 50 (-Re 50) on the same geometrical configuration as in the paper.

$ mpirun -np 4 FreeFem++-mpi Nonlinear-solver.edp -Re 50 -v 0

The option -v 0 is here to minimize the output generated by FreeFEM, see this tutorial for more information. Then, for performing the actual linear stability analysis.

$ mpirun -np 4 FreeFem++-mpi Eigensolver.edp -v 0

The results are stored in the State/EV folder.

Customization

Here are the main command line parameters.

  • Nonlinear-solver.edp
    1. -Newton_tol (default to 1.0e-6), stopping criterion of the Newton method
    2. -mesh (default to FlatPlate3D.mesh), must be stored in the Mesh folder ; if changed, do not forget to set the appropriate Dirichlet boundary conditions in the FreeFEM variational formulations vJ and vRes
    3. -Re (default to 100), Reynolds number
    4. -gamma (default to 0.3), augmentation parameter
  • Eigensolver.edp
    1. -shift_real (default to 1.0e-6), real part of the shift
    2. -shift_imag (default to 0.6), imaginary part of the shift
    3. -nev (default to 5), desired number of computed eigenmodes
    4. -recycle (default to 0), number of recycled vectors from the Arnoldi basis between each GMRES cycle

Acknowledgements

  • European Research Council (ERC), project AEROFLEX, grant number 638307
  • HPC resources of TGCC@CEA under the allocation A0030607519 made by GENCI

moulin2019al's People

Contributors

prj- avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  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.