CFDPython
AeroSandbox
Our great sponsors
CFDPython | AeroSandbox | |
---|---|---|
10 | 6 | |
2,834 | 462 | |
1.2% | - | |
0.0 | 9.8 | |
2 months ago | 4 days ago | |
Jupyter Notebook | Jupyter Notebook | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
CFDPython
- Which one is best for numerical simulations for fluid mechanics [mostly linear terms].
-
Poisson's Equation is the most powerful tool not yet in your toolbox
There are many different ways to do what you'd like. The easiest starting point would probably be this tutorial: https://github.com/barbagroup/CFDPython
But that won't handle turbulence. The real "turbulence problem" is that computing actual turbulent flows requires enormous computational resources. So instead of solving the Navier-Stokes equations, related equations with lower computational cost are solved. Because of how these equations are developed, they require modeling of "unclosed" terms, and this is a likely source of inaccuracy.
If you want something relatively simple, you could take the RANS approach and use the Spalart-Allmaras model:
https://www.cfd-online.com/Wiki/Introduction_to_turbulence/R...
-
Complexity Explained
I sniff an air of condescension; what’s your goals therein? Are you posturing your ‘maths’ knowledge?
I thought I was explicit in my criticism of “notation only” explanations, but perhaps a positive example would be more explicit.
https://github.com/barbagroup/CFDPython
This repo explains computational fluid dynamics (an example of a complex system!) from “what is a python function” to “2d Navier stokes”.
It shows the work of how to discretize ‘latex beautified’ notation, shows the relationship between the computations and the notation, and even explains when their LaTex strays from “conventional use of notation” and why.
The authors even throw in traditional handwritten board lecture videos if that helps you learn better.
complexityexplained reads like it’s written by the Spider-Man points at Spider-Man meme.
-
AeroPython: Classical Aerodynamics with Python
See also by the same professor CFD Python: 12 Steps to Navier-Stokes: https://github.com/barbagroup/CFDPython
AeroSandbox
-
I gave a presentation on the use of Python in aerospace engineering
AeroSandbox - an optimization suite that combines the ease-of-use of NumPy syntax with the power of modern automatic differentiation. AeroSandbox contains dozens of end-to-end-differentiable aerospace physics models, allowing you to simultaneously optimize an aircraft's aerodynamics, structures, propulsion, mission trajectory, stability, and more. Best of all, it is designed to be run on a laptop, not a supercomputer.
What are some alternatives?
AeroPython - Classical Aerodynamics of potential flow using Python and Jupyter Notebooks
PteraSoftware - Ptera Software is a fast, easy-to-use, and open-source software package for analyzing flapping-wing flight.
Nalu - Nalu: a generalized unstructured massively parallel low Mach flow code designed to support a variety of open applications of interest built on the Sierra Toolkit and Trilinos solver Tpetra solver stack. The open source BSD, clause 3 license model has been chosen for the code base. See LICENSE for more information.
homemade-machine-learning - 🤖 Python examples of popular machine learning algorithms with interactive Jupyter demos and math being explained
AlgorithmicTrading - This repository contains three ways to obtain arbitrage which are Dual Listing, Options and Statistical Arbitrage. These are projects in collaboration with Optiver and have been peer-reviewed by staff members of Optiver.
poisson-canvas - Explore poisson equation with HTML canvas
Zygote-Mutating-Arrays-WorkAround.jl - A tutorial on how to work around ‘Mutating arrays is not supported’ error while performing automatic differentiation (AD) using the Julia package Zygote.
Flow - Flow is a sparse grid-based fluid simulation library for real-time applications.
wordle-solver - For educational purposes, a simple script that assists in solving the word game Wordle.
poisson - Solve Poisson equation on arbitrary 2D domain using the finite element method.
Boeing-777-300ER - A freeware hobby project simulation for X-Plane of the B777-300ER