AEP4380, Computational Engineering Physics
Fall Semester 2023, Applied and Engin. Physics, Cornell University
[ HOME   HANDOUTS   LINKS  ]

Computational Physics:


Links to Interpreted Programming Packages with Graphics:

  • anaconda: (free download) large python distribution with many packages (multiple platforms)
  • numba : JIT compiler for python 3 subroutines (included in anaconda 3)
  • cupy : version of python/numpy and scipy array libraries using GPU acceleration
  • python: (free download) high level dynamic typing scripting laguage, add numpy, scipy and pylab (matploib) to get graphics.
  • python tutorial : documentation and turorials
  • spyder: (free download) IDE for python (multiple platforms)
  • pycharm : (paid download) another IDE for python
  • scipy.special : special functions in python
  • scipy.integrate : integration and ODE solvers in python
  • matplotlib: (free download) plotting in python.
  • mplot3d: (free download) 3d plotting in python.
  • animate graphs in python (tutorial)
  • vpython : 3D graphics package for python 3
  • guizero : simple GUI builder for python
  • Visual Studio Code (VScode): (Win,Mac,Linux) general purpose code editor (can be used for python and julia)
  • TIOBE index : ranking of most popular programming languages

Links to Free C/C++ Compilers and IDE's:

  • code::blocks C++: A nice cross-platform (free) GUI front end for gcc/g++.
  • mingw-w64: gcc/g++ (32 and 64 bit) compiler for 64 bit ms-windows. A simple collection of command line utilities for MS-Windows including the gcc/g++ compiler. This is fairly easy to setup and use and runs from the normal MS-Windows command line. Download  and run MinGW-W64-install.exe to install. Select Architecture=x86_64 for 64 bit compiler and Architecture=i686 for 32 bit compiler.
  • WinLibs-gcc : newer build of  mingw-w64 gcc
  • gcc with VScode : using mingw gcc with Visual Studio Code
  • tdm-gcc:  another version of gcc/g++ for ms-windows (has both 32 bit and 64 bit)
  • cygwin: This produces a UNIX style command line interface (in a separate window) under MS-Windows. It includes a large variety of UNIX style utilities in addition to the gcc/g++ compiler. This is a more advanced package and is a little difficult to set up (32 and 64 bit versions available, uninstall can be difficult).
  • bloodshed C++: A (free) GUI front end for gcc/g++ under windows (uses mingw compiler).
  • Orwell Dev-C++:  another GUI front end for gcc under windows (I have not tested this one either)
  • documentation for gcc: This includes everything and is on the long side.
  • status of C99 in gcc: List of what features are supported in gcc (for example native complex data type).
  • Microsoft Visual Studio Community: free editor and compiler- click on "Desktop Development with C++" and registration required
  • mac-hpc: high performance computing on mac-os, new compilers (macports below may be a better option)
  • Xcode Tools: Apple Mac OS-X development tools including clang.
  • Xcode command line tools
  • CodeRunner:  light-weight program editor for macOS
  • MacPorts:  Nice Mac utility to easily install a large number of free software packages such as gcc, FFTW etc.
  • Fink: Unix tools for Apple Mac OS-X: I have NOT tested any of these, use at your own risk.
  • eclipse: IDE front end (multiplatform, java, C/C++, etc.)
  • netbeans: IDE front end (multiplatform, java, C/C++, etc.)

Links to C/C++  Programming Tutorials


Links to Free Graphics Software for Data Plotting:

  • octave: (free download) Very similar to matlab in function and syntax, but it is free (Windows, Mac and Linux).
  • freemat: (free download) matlab like program (multiple platforms)
  • prestoplot: (free download) Simple data plotting program for MS-Windows. Modeled after the UNIX program Grace/mgr.
  • grace: (free download) Sophisticated scientific data plotting program with GUI. (mainly UNIX/Linux, mac version in macports  -below).
  • gnuplot: (free download) Simple data plotting program. (Windows, UNIX, Linux, Mac).
  • scilab: (free download) Functionally similar to matlab but it is free, and does a lot of useful things (MS-Windows, Linux, UNIX and old Mac version).

Document Preparation:

  • MikTeX: Free LaTeX for Windows, MacOS, Linux
  • TeXmaker: Free GUI front end and editor for LaTeX (MS-Windows, Linux, Mac)
  • TeXstudio: Free GUI front end and editor for LaTeX (MS-Windows, Linux, Mac)
  • TeXShop: Free GUI front end and editor for LaTeX (Apple-Mac)
  • Beginners guide to LaTeX : HTML , PDF , HTML-2
  • TeXmacs: Free wysiwyg editor for LaTeX (Windows, UNIX/LINUX, Mac/Fink)
  • TeXniq: editor for LaTex
  • WinEdt: Shareware GUI front end and editor for LaTeX (MS-Windows)
  • LaTeX Guide: from Cornell Library

Links to Numerical Subroutine Libraries:


Links to Machine Learning:
  • OpenML : machine learning lab, data sets and algorithms
  • PyTorch : Deep Learning module with python interface
  • scikit-learn : machine learning for classification and clustering with python interface
  • TensorFlow : Deep Learning module with python interface (production grade)

Links to Graphics Subroutine Libraries:

  • openGL: Interactive 2D and 3D graphics.
  • GLUT: openGL utility toolkit for MS-windows (controls windows etc.).
  • GLUT+minGw: How to use OpenGL Utility Toolkit (GLUT) with MinGW.
  • freeglut: newer OpenGL Utility Toolkit.
  • GLEW (extension manager) and GLFW (windows manager) are  newer cross-platform openGL packages
  • GUI packages: Comparison of different GUI software packages.
  • wxWidgets, QT, FLTK (simple with minimal features), GTK (mainly linux);  cross platfrom GUI packages

Links to Parallel Programming Libraries:

  • openMP: parallel programming on multiple processor computers with shared memory (now supported in gcc 4.2, which is available with minGW)
  • openMPI: parallel programming on multiple processor computers connected via a network
  • openCL: parallel programming on graphical processor unit, GPU (open source)
  • CUDA: parallel programming on graphical processor unit, GPU (NVIDIA)
  • CUDA_vs_openCL:

Other Links:

  • On-line version of Numerical Recipes in C++.
  • Crimson Editor: Nice free plain text editor for writing programs (MS-Windows). Highlights C/C++ syntax in color and gives you the line numbers to use with gcc/g++ error messages. Also highlights syntax for LaTeX and other programming languages.
  • Notepad++: Another nice free plain text editor for writing programs (MS-Windows). Highlights C/C++ syntax in color and gives you the line numbers to use with gcc/g++ error messages. Also highlights syntax for LaTeX and other programming languages.
  • maxima: Free symbolic math package with graphics (derived from Macsyma). Windows, Mac and Linux executables and source code can be downloaded.
  • maxima manuals: How to use maxima.
  • symPy:  symbolic mathematics Python
  • pdfcreator: free Windows utility to make pdf files
  • Abramowitz and Stugun, Handbook of Mathematical Functions; A classic reference text with many numerical approximation (hosted by C. B. MacDonald). Some also available from from Google
  • DLMF NIST library of math functions
  • atomic structure data (NIST)
  • AEP home page

Links to Computational Physics Software: (large packages)

  • Abinit: electronic structure calculations (DFT, psuedopotentials, etc.)
  • AlphaFold : protein folding using machine learning (Nature 596, (2021), p.583,590)
  • JDFTx: electronic structure calculations (DFT, psuedopotentials, etc.)
  • openFoam: open source computational fluid dynamics toolbox and Helyx-OS GUI front-end
  • MEEP: free finite-difference time-domain (FDTD) simulation software package developed at MIT to model electromagnetic systems
  • QuantumExpresso:  electronic structure calculations (DFT, psuedopotentials, etc.)
  • ParaView:  large data set visualization
  • Rosseta;  computation modeling of proteins structure
  • PTSG: Plasma Theory and Simulation Group
  • Lawrence Livermore National Laboratory software collection
  • Sandia National Laboratory open source software portal
  • Los Alamos National Laboratory open source software

Links to Research Programs for Undergraduates at Cornell:

COPYRIGHT © 2013-2023   last updated 10-Oct-2023