# Improved CFD solver?

**URL:** <https://discourse.julialang.org/t/improved-cfd-solver/135082>\
**Category:** Modelling & Simulations\
**Tags:** question, aerospace, aerodynamics\
**Created:** [January 15, 2026, 5:27pm UTC](https://discourse.julialang.org/t/improved-cfd-solver/135082 "2026-01-15T17:27:49Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [January 15, 2026, 5:27pm UTC](https://discourse.julialang.org/t/improved-cfd-solver/135082/1 "2026-01-15T17:27:49Z")

</div>

While there are a few CFD solvers in Julia, like [ViscousFlow.jl](https://github.com/JuliaIBPM/ViscousFlow.jl) and [WaterLily.jl](https://github.com/WaterLily-jl/WaterLily.jl), the field of usage is somewhat limited: As far as I understand, WaterLily works well only for low Reynolds numbers. Is there anybody else here on Discourse interested in an improved CFD solver, written in Julia?

Ideas:

- Based on WaterLily.jl, add the feature to use octree grids. As far as I know, this might increase the range of usable Reynold numbers by one or two orders of magnitude
- develop a RANS CFD solver

Could anybody point me to literature and/or software in other languages that could be used as a starting point for such a development?

---

<div class="post-metadata">

**Author:** ![Jake](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jake/32/46007_2.png) [@Jake](https://discourse.julialang.org/u/Jake)\
**Post date:** [January 15, 2026, 5:59pm UTC](https://discourse.julialang.org/t/improved-cfd-solver/135082/2 "2026-01-15T17:59:28Z")

</div>

There is [OpenFoam](https://www.openfoam.com/) and [Code Saturne](https://www.code-saturne.org/cms/web/). I have not used them.

---

<div class="post-metadata">

**Author:** ![Paulo\_Jabardo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/paulo_jabardo/32/3196_2.png) [@Paulo\_Jabardo](https://discourse.julialang.org/u/Paulo_Jabardo)\
**Post date:** [January 15, 2026, 6:02pm UTC](https://discourse.julialang.org/t/improved-cfd-solver/135082/3 "2026-01-15T18:02:24Z")

</div>

edit: I forgot to add the NITS FDS solver!

There are some major open source packages for doing RANS CFD that I know of:

- [OpenFoam](https://www.openfoam.org). Very general and the most used.
- [SU2](https://su2code.github.io/) More aerodynamics focus. And an important focus is on shape optimization.
- [Code-saturne](https://www.code-saturne.org/cms/web/)

An honorable mention is the [NIST Fire Dynamics Simulator](https://pages.nist.gov/fds-smv/). Honorable mention because I think it is limited to LES for turbulence. But it is very complete and documented for its application. And it is very useful for ventilation.

As for literature. It is extensive. Here is a list of books on CFD that I like:

- [Notes on Computational Fluid Dynamics: General Principles](https://doc.cfd.direct/notes/cfd-general-principles/) written by Greenshields and Weller. One of the author is one of the original authors of OpenFoam. This book should be considered the Theoretical Manual of OpenFoam. It doesn’t go into details but it is very thourough, going into almost every aspect of the solver. Very good reference.
- [Computational Methods for Fluid Dynamics by Ferziger and Peric](http://www.cfd-peric.de/) is probably the most read CFD book around.
- [Advanced Computational Fluid and Aerodynamics by Paul Tucker](https://www.cambridge.org/core/books/advanced-computational-fluid-and-aerodynamics/71A3FE4FA6EDE39B9813658442B32820) is a book that I really like.

When dealing with turbulence modeling I recommend the following books:

- [Turbulent Flows by Stephen Pope](https://www.cambridge.org/core/books/turbulent-flows/69322053C06F73F7EB7124915F9256BD) for fundamentals and theory.
- [Modelling Turbulence in Engineering and the Environment. Rational Alternative Routes to Closure](https://www.cambridge.org/core/books/modelling-turbulence-in-engineering-and-the-environment/581BC2601523C3F6FEE1ED2608ABD6C2) by Hanjalic and Launder (the father of k-e model). Very thorough book on turbulence modeling
- [Statistical Turbulence Modelling for Fluid Dynamics — Demystified](https://www.worldscientific.com/worldscibooks/10.1142/p997?srsltid=AfmBOooasZrlUhx1wlctV549lCRJVah-I3CWfeU_5KdaP-U0dBBsuebY#t=aboutBook) by Michael Leschziner. I just got this book. Very good intro to RANS modeling.

I hope this helps

Paulo Jabardo

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [January 16, 2026, 1:47am UTC](https://discourse.julialang.org/t/improved-cfd-solver/135082/4 "2026-01-16T01:47:36Z")

</div>

Trixi?

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [January 16, 2026, 2:08am UTC](https://discourse.julialang.org/t/improved-cfd-solver/135082/5 "2026-01-16T02:08:34Z")

</div>

Trixi.jl looks interesting. But can it be used as a CFD solver?

I don’t think it’s a good choice for incompressible flow.

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [January 16, 2026, 2:54am UTC](https://discourse.julialang.org/t/improved-cfd-solver/135082/6 "2026-01-16T02:54:12Z")

</div>

It does have LB solver.

---

<div class="post-metadata">

**Author:** ![svretina](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/svretina/32/206157_2.png) [@svretina](https://discourse.julialang.org/u/svretina)\
**Post date:** [January 17, 2026, 8:27pm UTC](https://discourse.julialang.org/t/improved-cfd-solver/135082/7 "2026-01-17T20:27:44Z")

</div>

i would be interested to get involved for a generic FVM solver which is missing from the julia codebase

---

<div class="post-metadata">

**Author:** ![aligurbu](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aligurbu/32/18088_2.png) [@aligurbu](https://discourse.julialang.org/u/aligurbu)\
**Post date:** [January 17, 2026, 11:34pm UTC](https://discourse.julialang.org/t/improved-cfd-solver/135082/8 "2026-01-17T23:34:12Z")

</div>

I would be interested in learning whether there are any developments in Julia regarding Stokes flow problems involving the simulation and modeling of biophysical phenomena, such as red blood cells, droplets, capsules, microorganisms\microswimmers, and active/passive compound particles.

If anyone has experience with these types of problems, has developed code, and could point me to some initial points of investigation, that would be awesome.

---

<div class="post-metadata">

**Author:** ![ziolai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ziolai/32/23422_2.png) [@ziolai](https://discourse.julialang.org/u/ziolai)\
**Post date:** [January 20, 2026, 5:09pm UTC](https://discourse.julialang.org/t/improved-cfd-solver/135082/9 "2026-01-20T17:09:04Z")

</div>

Laminar or turbulent?

Newtonian or non-Newtonian? Shear-thinning or shear-thickening?

For the laminar Newtonian case, I expect any of Ferrite.jl, Gridap.jl, Trixi.jl, WaterLilly.jl, VoronoiFVM.jl and other packages to be sufficient versatile. This does not meant the absence of a learning curve.

For the laminar non-Newtonian case, examples in Ferrite.jl and Gridap.jl provides examples of non-linear constitutive equations that might provide inspiration. Other examples surely exist.

For the Reynolds-Averaged turbulent case, the absence of established implementations that handle boundary effects through wall functions spoil the fun (or provide space for user contributions).

Happy to discuss further.

---

<div class="post-metadata">

**Author:** ![dubosipsl](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dubosipsl/32/52998_2.png) [@dubosipsl](https://discourse.julialang.org/u/dubosipsl)\
**Post date:** [January 20, 2026, 8:40pm UTC](https://discourse.julialang.org/t/improved-cfd-solver/135082/10 "2026-01-20T20:40:31Z")

</div>

Basilisk is really good.

> **[Basilisk - Basilisk](https://basilisk.fr/)**

> **[Basilisk for Multiphase Flow Simulations - CoMPhy Lab](https://comphy-lab.org/teaching/2025-Basilisk101nano-ECS)**
>
> Detailed course information and materials from the Computational Multiphase Physics Laboratory

---

<div class="post-metadata">

**Author:** ![DanDoe](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dandoe/32/52717_2.png) [@DanDoe](https://discourse.julialang.org/u/DanDoe)\
**Post date:** [January 20, 2026, 9:03pm UTC](https://discourse.julialang.org/t/improved-cfd-solver/135082/11 "2026-01-20T21:03:41Z")

</div>

That is right, incompressible flows are not really target of the code. That, however, does not technically rule out low Mach number flows - so as long you are simulating gases, i.e., something related to aerodynamics, a RANS extension should be possible.

---

<div class="post-metadata">

**Author:** ![DanDoe](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dandoe/32/52717_2.png) [@DanDoe](https://discourse.julialang.org/u/DanDoe)\
**Post date:** [January 20, 2026, 9:04pm UTC](https://discourse.julialang.org/t/improved-cfd-solver/135082/12 "2026-01-20T21:04:44Z")

</div>

True, but that is more a gimmick than a real set of equations which would enable efficient simulations.

---

<div class="post-metadata">

**Author:** ![DanDoe](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dandoe/32/52717_2.png) [@DanDoe](https://discourse.julialang.org/u/DanDoe)\
**Post date:** [January 20, 2026, 9:06pm UTC](https://discourse.julialang.org/t/improved-cfd-solver/135082/13 "2026-01-20T21:06:24Z")

</div>

> **[GitHub - JuliaHealth/BloodFlowTrixi.jl: This package implements 1D and 2D blood flow...](https://github.com/JuliaHealth/BloodFlowTrixi.jl)**
>
> This package implements 1D and 2D blood flow models for arterial circulation using Trixi.jl, enabling efficient numerical simulation and analysis.

---

<div class="post-metadata">

**Author:** ![ziolai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ziolai/32/23422_2.png) [@ziolai](https://discourse.julialang.org/u/ziolai)\
**Post date:** [January 20, 2026, 9:25pm UTC](https://discourse.julialang.org/t/improved-cfd-solver/135082/14 "2026-01-20T21:25:13Z")

</div>

Any RANS models in Basilisk? Any Julia version of Basilisk?

---

<div class="post-metadata">

**Author:** ![aligurbu](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aligurbu/32/18088_2.png) [@aligurbu](https://discourse.julialang.org/u/aligurbu)\
**Post date:** [January 20, 2026, 9:30pm UTC](https://discourse.julialang.org/t/improved-cfd-solver/135082/15 "2026-01-20T21:30:19Z")

</div>

Thanks a lot for pointing out these repos.

I am mostly interested in the zero-Reynolds-number case, a fluid domain that is incompressible and Newtonian, described by the steady Stokes momentum and continuity equations. Specifically, the problems that I work on involve moving interfaces, so I thought that FEM-based solvers are not very suitable for this kind of simulation. I had some experience with boundary integral methods and was wondering if Julia has anything specific in this domain.

I also want to learn about non-Newtonian fluids, shear-thinning or shear-thickening, and other constitutive models for porous media for the application of microswimmers. I used COMSOL for these situations, which is not ideal. Do you know of any developments in this area?

---

<div class="post-metadata">

**Author:** ![yolhan\_mannes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/yolhan_mannes/32/220485_2.png) [@yolhan\_mannes](https://discourse.julialang.org/u/yolhan_mannes)\
**Post date:** [January 20, 2026, 9:30pm UTC](https://discourse.julialang.org/t/improved-cfd-solver/135082/16 "2026-01-20T21:30:30Z")

</div>

Thanks for the mention of BFT, it’s using reduced model so not purely CFD but if anyone has questions don’t hesitate

---

<div class="post-metadata">

**Author:** ![yolhan\_mannes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/yolhan_mannes/32/220485_2.png) [@yolhan\_mannes](https://discourse.julialang.org/u/yolhan_mannes)\
**Post date:** [January 20, 2026, 9:33pm UTC](https://discourse.julialang.org/t/improved-cfd-solver/135082/17 "2026-01-20T21:33:08Z")

</div>

Indeed that’s exactly where DG method shines, I’m not aware of anything specific in Julia but Ferrite supports DG and steady solving too.

Edit : nevermind if it’s purely Stokes I don’t see why FEM wouldn’t be the best choice here ( together with ALE formulation for the moving interface)

---

<div class="post-metadata">

**Author:** ![aligurbu](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aligurbu/32/18088_2.png) [@aligurbu](https://discourse.julialang.org/u/aligurbu)\
**Post date:** [January 20, 2026, 9:43pm UTC](https://discourse.julialang.org/t/improved-cfd-solver/135082/18 "2026-01-20T21:43:47Z")

</div>

I have seen some impressive work using the Arbitrary Lagrangian-Eulerian formulation in the Finite Element Method for the moving interfaces, but I am personally unfamiliar with it. I definitely need to explore this approach.

The reason I used boundary integral methods was to reduce computational cost by moving from the 3D domain to surface integrals.

---

<div class="post-metadata">

**Author:** ![yolhan\_mannes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/yolhan_mannes/32/220485_2.png) [@yolhan\_mannes](https://discourse.julialang.org/u/yolhan_mannes)\
**Post date:** [January 20, 2026, 9:48pm UTC](https://discourse.julialang.org/t/improved-cfd-solver/135082/19 "2026-01-20T21:48:57Z")

</div>

Yes I understand that but for high Reynolds mesh become a real deal breaker on the results and level set based method can get bad

---

<div class="post-metadata">

**Author:** ![dubosipsl](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dubosipsl/32/52998_2.png) [@dubosipsl](https://discourse.julialang.org/u/dubosipsl)\
**Post date:** [January 21, 2026, 7:45am UTC](https://discourse.julialang.org/t/improved-cfd-solver/135082/20 "2026-01-21T07:45:03Z")

</div>

The question is about non-Julia CFD codes that could be a source of inspiration. Basilisk is in C AFAIK. I don’t think it has RANS/LES.

[Next page](https://discourse.julialang.org/t/improved-cfd-solver/135082.md?page=2)
