IncompressibleNavierStokes

Incompressible Navier-Stokes solver

https://github.com/agdestein/incompressiblenavierstokes.jl

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • 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: sciencedirect.com, zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.4%) to scientific vocabulary

Keywords

computational-fluid-dynamics differentiable-physics finite-volumes navier-stokes pde

Keywords from Contributors

bayesian-inference uncertainty-quantification best-practices code-quality copier copier-template julia-best-practices julia-template projection numeric
Last synced: 6 months ago · JSON representation

Repository

Incompressible Navier-Stokes solver

Basic Info
Statistics
  • Stars: 83
  • Watchers: 2
  • Forks: 16
  • Open Issues: 4
  • Releases: 14
Topics
computational-fluid-dynamics differentiable-physics finite-volumes navier-stokes pde
Created over 4 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

Logo Logo

IncompressibleNavierStokes

Stable Dev Build Status Coverage Aqua QA DOI Downloads Downloads

This package implements energy-conserving solvers for the incompressible Navier-Stokes equations on a staggered Cartesian grid. It is based on the Matlab package INS2D/INS3D. The simulations can be run on the single/multithreaded CPUs or Nvidia GPUs.

Installation

To install IncompressibleNavierStokes, open up a Julia-REPL, type ] to get into Pkg-mode, and type:

julia-repl (v1.10) pkg> add IncompressibleNavierStokes

which will install the package and all dependencies to your local environment. Note that IncompressibleNavierStokes requires Julia version 1.9 or above.

See the Documentation for examples of some typical workflows. More examples can be found in the examples directory.

Source code for paper

See this repository for the source code used in the paper Discretize first, filter next: learning divergence-consistent closure models for large-eddy simulation.

Gallery

The velocity and pressure fields may be visualized in a live session using Makie. Alternatively, ParaView may be used, after exporting individual snapshot files using the save_vtk function, or the full time series using the VTKWriter processor.

Actuator (2D) Backward facing step (2D) Decaying turbulence (2D) Taylor-Green vortex (2D)
Actuator (3D) Backward facing step (3D) Decaying turbulence (3D) Taylor-Green vortex (3D)
Rayleigh-Bnard (2D) Rayleigh-Bnard (3D) Rayleigh-Taylor (2D)

Demo

Make sure to have the GLMakie and IncompressibleNavierStokes installed:

julia using Pkg Pkg.add(["GLMakie", "IncompressibleNavierStokes"])

Then run run the following code to make a short animation:

```julia using GLMakie using IncompressibleNavierStokes

Setup

setup = Setup( x = (tanhgrid(0.0, 2.0, 200, 1.2), tanhgrid(0.0, 1.0, 100, 1.2)), boundaryconditions = ((DirichletBC(), DirichletBC()), (DirichletBC(), DirichletBC())), temperature = temperatureequation(; Pr = 0.71, Ra = 1e7, Ge = 1.0, boundary_conditions = ( (SymmetricBC(), SymmetricBC()), (DirichletBC(1.0), DirichletBC(0.0)), ), ), )

Solve equation

solveunsteady(; setup, ustart = velocityfield(setup, (dim, x, y) -> zero(x)), tempstart = temperaturefield(setup, (x, y) -> 1 / 2 + sinpi(30 * x) / 100), tlims = (0.0, 30.0), t = 0.02, processors = (; anim = animator(; setup, path = "temperature.mp4", fieldname = :temperature, colorrange = (0.0, 1.0), size = (900, 500), colormap = :seabornicefire_gradient, nupdate = 5, ), ), ) ```

Similar projects

Owner

  • Name: Syver Døving Agdestein
  • Login: agdestein
  • Kind: user
  • Location: Amsterdam
  • Company: Centrum Wiskunde & Informatica

PhD candidate in scientific computing

GitHub Events

Total
  • Fork event: 5
  • Create event: 60
  • Commit comment event: 10
  • Issues event: 8
  • Release event: 5
  • Watch event: 28
  • Delete event: 48
  • Member event: 1
  • Issue comment event: 29
  • Push event: 225
  • Pull request review event: 2
  • Pull request review comment event: 4
  • Pull request event: 100
Last Year
  • Fork event: 5
  • Create event: 60
  • Commit comment event: 10
  • Issues event: 8
  • Release event: 5
  • Watch event: 28
  • Delete event: 48
  • Member event: 1
  • Issue comment event: 29
  • Push event: 225
  • Pull request review event: 2
  • Pull request review comment event: 4
  • Pull request event: 100

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 418
  • Total Committers: 7
  • Avg Commits per committer: 59.714
  • Development Distribution Score (DDS): 0.514
Past Year
  • Commits: 90
  • Committers: 6
  • Avg Commits per committer: 15.0
  • Development Distribution Score (DDS): 0.111
Top Committers
Name Email Commits
Syver Døving Agdestein s****a@i****m 203
Syver Døving Agdestein s****a@g****m 188
CompatHelper Julia c****y@j****g 20
dependabot[bot] 4****] 3
Syver Døving Agdestein 4****n 2
Luisa Orozco l****o@e****l 1
Pablo Rodríguez Sánchez p****z@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 8
  • Total pull requests: 160
  • Average time to close issues: 21 days
  • Average time to close pull requests: 8 days
  • Total issue authors: 8
  • Total pull request authors: 8
  • Average comments per issue: 3.25
  • Average comments per pull request: 0.31
  • Merged pull requests: 110
  • Bot issues: 0
  • Bot pull requests: 113
Past Year
  • Issues: 2
  • Pull requests: 94
  • Average time to close issues: 1 day
  • Average time to close pull requests: 1 day
  • Issue authors: 2
  • Pull request authors: 6
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.29
  • Merged pull requests: 58
  • Bot issues: 0
  • Bot pull requests: 69
Top Authors
Issue Authors
  • Arpit-Babbar (1)
  • luisaforozco (1)
  • github-actions[bot] (1)
  • sifanexisted (1)
  • Hemadityamalla (1)
  • SCiarella (1)
  • gbruer15 (1)
  • JuliaTagBot (1)
Pull Request Authors
  • github-actions[bot] (148)
  • agdestein (50)
  • SCiarella (10)
  • dependabot[bot] (10)
  • rik-stra (3)
  • luisaforozco (3)
  • b-fg (1)
  • PabRod (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (10) github_actions (1)

Packages

  • Total packages: 1
  • Total downloads:
    • julia 5 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 14
juliahub.com: IncompressibleNavierStokes

Incompressible Navier-Stokes solver

  • Versions: 14
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 5 Total
Rankings
Dependent repos count: 9.9%
Stargazers count: 22.7%
Average: 26.2%
Forks count: 33.3%
Dependent packages count: 38.9%
Last synced: 6 months ago

Dependencies

.github/workflows/CI.yml actions
  • actions/checkout v2 composite
  • codecov/codecov-action v2 composite
  • julia-actions/cache v1 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-docdeploy v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/FormatCheck.yml actions
  • actions/checkout v2 composite
  • julia-actions/setup-julia latest composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/CompatHelper.yml actions