{"id":16692830,"url":"https://github.com/prj-/moulin2019al","last_synced_at":"2026-01-02T13:06:19.282Z","repository":{"id":52566640,"uuid":"176910299","full_name":"prj-/moulin2019al","owner":"prj-","description":"Augmented Lagrangian Preconditioner for Hydrodynamic Stability Analysis","archived":false,"fork":false,"pushed_at":"2022-12-03T07:05:49.000Z","size":2723,"stargazers_count":11,"open_issues_count":0,"forks_count":6,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-20T18:12:42.188Z","etag":null,"topics":["freefem","hydrodynamics","petsc","slepc","stability-analysis"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prj-.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-03-21T09:16:14.000Z","updated_at":"2024-11-21T07:12:58.000Z","dependencies_parsed_at":"2023-01-24T00:02:59.235Z","dependency_job_id":null,"html_url":"https://github.com/prj-/moulin2019al","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prj-%2Fmoulin2019al","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prj-%2Fmoulin2019al/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prj-%2Fmoulin2019al/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prj-%2Fmoulin2019al/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prj-","download_url":"https://codeload.github.com/prj-/moulin2019al/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243495490,"owners_count":20299921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["freefem","hydrodynamics","petsc","slepc","stability-analysis"],"created_at":"2024-10-12T16:28:35.199Z","updated_at":"2026-01-02T13:06:19.232Z","avatar_url":"https://github.com/prj-.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Augmented Lagrangian Preconditioner for Large-Scale Hydrodynamic Stability Analysis\n\n\u003e A parallel implementation of the steady Navier–Stokes and eigenvalue solvers, developed in the FreeFEM language, suitably interfaced with the PETSc/SLEPc libraries.\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/prj-/moulin2019al/raw/main/header.png\" height=\"300\"\u003e\u003c/p\u003e\n\nThe code available in this repository can reproduce the results from the following [paper](https://doi.org/10.1016/j.cma.2019.03.052).\n```\n@article{moulin2019al,\n    Author = {Moulin, Johann and Jolivet, Pierre and Marquet, Olivier},\n    Title = {{Augmented Lagrangian Preconditioner for Large-Scale Hydrodynamic Stability Analysis}},\n    Year = {2019},\n    Volume = {351},\n    Pages = {718--743},\n    Journal = {Computer Methods in Applied Mechanics and Engineering},\n    Publisher = {Elsevier},\n    Url = {https://github.com/prj-/moulin2019al}\n}\n```\n\n## Getting started\n### Dependencies\nMake sure you have access to a recent [FreeFEM](https://freefem.org/) installation (version 4.3 or above), compiled with the `PETSc` and `PETSc-complex` **(with SLEPc)** plugins. More details about the [PETSc](https://petsc.org/release/docs/manual/) and [SLEPc](http://slepc.upv.es/documentation/slepc.pdf) options used in the solvers may be found in their respective manual.\n### Usage example\nA 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.\n```\n$ mpirun -np 4 FreeFem++-mpi Nonlinear-solver.edp -Re 50 -v 0\n```\nThe option `-v 0` is here to minimize the output generated by FreeFEM, see this [tutorial](https://joliv.et/FreeFem-tutorial/) for more information. Then, for performing the actual linear stability analysis.\n```\n$ mpirun -np 4 FreeFem++-mpi Eigensolver.edp -v 0\n```\nThe results are stored in the `State/EV` folder.\n### Customization\nHere are the main command line parameters.\n\n* Nonlinear-solver.edp\n    1. `-Newton_tol` (default to `1.0e-6`), stopping criterion of the Newton method\n    3. `-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`\n    4. `-Re` (default to `100`), Reynolds number\n    5. `-gamma` (default to `0.3`), augmentation parameter\n* Eigensolver.edp\n    1. `-shift_real` (default to `1.0e-6`), real part of the shift\n    2. `-shift_imag` (default to `0.6`), imaginary part of the shift\n    3. `-nev` (default to `5`), desired number of computed eigenmodes\n    4. `-recycle` (default to `0`), number of recycled vectors from the Arnoldi basis between each GMRES cycle\n\n## Acknowledgements\n* European Research Council ([ERC](https://erc.europa.eu/)), project [AEROFLEX](https://w3.onera.fr/erc-aeroflex/home), grant number 638307\n* HPC resources of [TGCC@CEA](http://www-hpc.cea.fr/index-en.htm) under the allocation A0030607519 made by [GENCI](http://www.genci.fr/en)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprj-%2Fmoulin2019al","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprj-%2Fmoulin2019al","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprj-%2Fmoulin2019al/lists"}