A numpy based simulator for the molecular dynamics of Argon, has multiple integrators which
can be chosen using the config file config.json.
Created by: Mankrit, Noa and Ragi.
The configuration file uses the json format. The options are listed below with their default value and meaning.
| Option | Default | Description |
|---|---|---|
| particles | 108 |
The amount of particles to simulate |
| box | [5,5,5] |
The size of the periodic boundary conditions in dimensionless units, uses the format [x,y,z] |
| lattice_constant | 1.5 |
The lattice constant of the fcc lattice, only used when using "fcc" initial positions |
| corner_offset | [0,0,0] |
The amount to offset the corner of the fcc lattice relative to origin, only used then using "fcc" initial positions |
| time_steps | 1000 |
The amount of timesteps to simulate |
| step_size | 0.01 |
The size of a single timestep in dimensionless units |
| equilibrium_steps | 25 |
Number of steps after which rescaling is applied |
| temperature | 1 |
The dimensionless temperature of the system |
| temperature_tolerance | 0.2 |
Tolerance level for the real vs. target temperature |
| equilibrium_stable_check | 2 |
Number of equilibrium checks after which we stop rescaling |
| position_method | "fcc" |
The way the starting positions of the particles get generated, can be "uniform", "fcc" or "static". |
| velocity_method | "mbdist" |
The way the starting velocities of the particles get generated, can be "zero" for zero velocities or "mbdist" for a maxwell-boltzmann distribution. |
| seed | random | The seed to use for the initial random generation. |
| simulator_type | ["verlet"] |
What integrators to use on the starting position, the simulator executes every one in the list, can be "verlet", "euler", "leapfrog" or 'scipy_rk45'. |
| outputs | ["energies", "animation","pair_correlation","MSD","compressibility","specific_heat"] |
The outputs the simulator should create from the simulation results. |
| bin_size | 0.1 |
The size of bins for histograms. Only used for pair correlation calculation |
| do_caching | true |
The simulator will cache simulations in ./cache/ if this is true, changing the code does not wipe this cache, changing relevant configuration sections should create their own entries. |
| export_csv | false |
This exports the input parameters and measured observables into a CSV file for report/analysis. |