Trilinos
GSL
Our great sponsors
Trilinos | GSL | |
---|---|---|
2 | 4 | |
1,152 | 521 | |
1.3% | 1.7% | |
9.9 | 6.7 | |
1 day ago | 4 months ago | |
C++ | C | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 only |
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.
Trilinos
-
Software component names should be whimsical and cryptic
If you want to see this line of thinking taken a bit too far, check out the list of Trilinos packages on github: https://github.com/trilinos/Trilinos/tree/master/packages
It definitely makes things much less accessible to a newcomer / outsider.
(Trilinos is a set of scientific / engineering libraries for HPC)
-
C++ for scientific programming?
It can be the base of whatever *you* write via bindings generators like pybind11. In that sense, the answer to your question is "however you like". For actual simulation code, you'll see a lot more legacy Fortran and C. That said, with things like mdspan maybe being standardized (proposal), efforts towards a standard linear algebra library, and the existence of ubiquitous HPC frameworks already having been written in C++, I would say it's only a matter of time before C++ accounts for an even bigger share of all HPC code.
GSL
-
C++ for numerical programming
Some time ago, I started on a similar journey. Started with https://www.gnu.org/software/gsl/
-
C vs MATLAB for NLD?
I typically use C alongside the GNU Scientific Library.
-
C++ learning advice
I might recommend exploring some libraries that could be used. GSL https://www.gnu.org/software/gsl/ is an example. This might be an equivalent of NumPy.
-
C Deep
GSL - The GNU Scientific Library; a sophisticated numerical library. GPL-3.0-only.
What are some alternatives?
FFTW - DO NOT CHECK OUT THESE FILES FROM GITHUB UNLESS YOU KNOW WHAT YOU ARE DOING. (See below.)
Blitz++ - Git mirror of Blitz++ at http://sourceforge.net/projects/blitz/
Torch - http://torch.ch
Kratos - Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software. Modularity, extensibility and HPC are the main objectives. Kratos has BSD license and is written in C++ with extensive Python interface.
HELICS - Hierarchical Engine for Large-scale Infrastructure Co-Simulation (HELICS)
Dimwits - A compact C++ header-only library providing compile-time dimensional analysis and unit awareness
preCICE - A coupling library for partitioned multi-physics simulations, including, but not restricted to fluid-structure interaction and conjugate heat transfer simulations.