# Introduction to Numerical Simulation

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:

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:

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?

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:

- Introduction to Numerical Modelling
- Introduction to Mathematical Modelling
- Introduction to Data Visualisation
- Resources > Modelling > Examples Numerical Modelling