SELF
shenfun
SELF | shenfun | |
---|---|---|
4 | 1 | |
43 | 182 | |
- | 2.7% | |
8.9 | 8.2 | |
14 days ago | 2 months ago | |
Fortran | Python | |
GNU General Public License v3.0 or later | BSD 2-clause "Simplified" 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.
SELF
-
[RANT] I really, really wish working with compiled languages is as easy as working with Python.
Could you go into more detail? If you're referring to https://github.com/FluidNumerics/SELF, I've just taken a look and it does seem like their documentation on how to build is lacking. Usually if that's the case, you can dig for whatever their CI configuration is and manually follow those steps, but it's not clear here: they have a mechanism to build Singularity containers (ci/run_tests) but everything else in ci seems unrelated. Their CONTRIBUTING.md is out of date and incomplete, and as you've already seen their build system (Makefile, install.sh, test.sh) is a total mess. Pretty much all modern scientific codes are using at least CMake now. (It's either that or hacked-up and hardcoded recursive make, rather than autoconf.)
-
The "F" Word - GPU Programming in Fortran : Building the Shallow Water Equation Solver
You can freely download SELF source code online at https://github.com/fluidnumerics/self
-
Joe's Live Coding Sessions - GPU Programming in Fortran : Verifying Spectral Accuracy in the Advection-Diffusion Solvers
SELF Github Repository : https://github.com/fluidnumerics/self
-
[February] Programming languages for CFD
I'm definitely a fan of Fortran for writing CFD and numerical PDE solvers (https://github.com/FluidNumerics/SELF) in general. Fortran was my first programming language, and I'm not a "geezer geek" (I'm 30 years old). While I also program in C and C++ on some projects, Fortran is my go-to. As others have already mentioned, the array syntax in Fortran is fantastic. It really helps to be able to work out algorithms on paper and translate cleanly into multi-dimensional arrays.
shenfun
-
[February] Programming languages for CFD
MPI in Python works just as well as in C++. I believe I've heard that codes such as shenfun beat many other spectral DNS codes, most of which are not coded using mpi4py, but I do not have any personal experience with it. https://github.com/spectralDNS/shenfun
What are some alternatives?
fpm - Fortran Package Manager (fpm)
dedalus - A flexible framework for solving PDEs with modern spectral methods.
stdlib - Fortran Standard Library
pymor - pyMOR - Model Order Reduction with Python
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
vedo - A python module for scientific analysis of 3D data based on VTK and Numpy
focal - A modern Fortran abstraction layer for OpenCL
Auto-Dota2-Hero-Grid - For Dota 2. Scrape spectral stats (spectral.gg) for the top performing heroes of the last week and put them into hero grid tier lists.
hipfort - Fortran interfaces for ROCm libraries
sdk - The Dart SDK, including the VM, dart2js, core libraries, and more.