Introduction to Numerical Simulation

monitor A numerical simulator is the actual implementation of a numerical model using source code that can be interpreted and executed by a processor.

Simulation software based on complex mathematical models requiring high performance computation is typically written in C, C++, and Fortran.

Other languages used to program simulators are Java (platform independant) or scripting languages like Matlab, Mathematica, Maple.

What programming language is best suited?
Below is a list of questions that may help to determine what programming language is best suited to implement a particular simulator software:
  • What hardware is required ? (memory, number of processors, ...)
  • What compilers with optimization features are available?
  • Are there related code libraries?
  • Are object oriented features required?
  • What intrinsic data types are available?
  • Is parallel computing supported?
  • It an Application Programming Interface (API) available?
  • Is platform independance important?
  • Is graphical output required?
  • What should be the ouput format of the solution data?
External links:
GCC a compiler collection (C++, C, Fortran, Java, Ada, and Go).
Intel compilers (C++, Fortran) can generate highly optimized code for the Intel processor range.
Matlab is a high level scripted language with interactive environment.
PHP (Hypertext Preprocessor) is a scripted language based on C and mainly used for server-side web page processing.
OPEN MP supports multi-platform shared-memory parallel programming in C/C++ and Fortran.
Parallel computing tutorial offered by the Lawrence Liverpool National Laboratory.

Internal links: