Modeling, simulation, and engineering

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 tools
    • Python for rapid application development
    • Numpy and Scipy for numerical programming
    • pypar (parallel programming utilizing MPI)
    • matplotlib (2D visualization)
    • C, C++ and Fortran for optimized code
    • CUDA and PyCUDA for massively parallel execution on NVIDIA graphics processors (GPUs)
  • Visualization tools
    • Matplotlib (2D plotting)
    • Paraview (3D visualization)
    • VMD (Molecular dynamics visualization)
  • Documentation
    • LyX and LaTeX
    • Asymptote (technical vector graphics)
    • Office and OpenOffice
  • Version control with Subversion and Git
  • OpenFOAM Computational Fluid Dynamics
  • Maxima (a free computer algebra system) for symbolic math