Open-source tool chain
I use open-source software whenever possible. Although there are cases where a proprietary tool is the right choice, open-source tools have many advantages.
Complete control of your critical tools–the vendor will never stop supporting your platform, an upgrade will never be forced upon you, and the licensing fee will never increase. Open-source tools tend to utilize open standards and exchange data much more fluidly than proprietary tools.
- If necessary, your developers can fix a bug themselves. A bug might be critical to your application, but that doesn’t mean it’s a high priority for the application vendor.
Open-Source Tools
Programming Python for rapid application development Numpy and Scipy for scientific omputing C, C++ and Fortran for optimized code Parallel Computing MPI PETSC pypar and mpi4py (Python bindings for MPI) CUDA and PyCUDA for massively parallel execution on NVIDIA graphics processors (GPUs) Simulation OpenFOAM: Computational Fluid Dynamics libmesh: finite element library Visualization Matplotlib (2D plotting) VTK (3D visualization) Paraview (3D visualization) VMD (Molecular dynamics visualization) Documentation LyX LaTeX Asymptote (technical vector graphics) Office and OpenOffice Version control Subversion Git OpenFOAM
- Sage (computer algebra system similar to Mathematica or MATLAB)
Future additions
Meep: finite-difference time-domain (FDTD) simulation software OpenLB: lattice Boltzmann code