Types¶
Experiment¶
The experiment type is used to handle several trials of a simulation. It is responsible for creating paths for the trial simulations and saving parameters for them.
Functions¶
-
Experiment(path, ntrials, pc, timestamp=false)¶ Parameters: - path – the path to save the experiment directory in
- ntrials – nuber of identical simulations to run
- pc – the physical constants for the simulation systems
- timestamp – whether or not to append current time to the end of the experiment directory. Useful for avoiding name conflicts and over writing data.
Creates an experiment. Saves the pysical constants,
pc, and dimensionless constants calculated frompc, to thepathin.datformat. It createsntrialsnumber of simulations with parameters deteremined frompcand paths within thepathdirectory. Iftimestampistrue, the date is append to thepathname.
-
run(exp, r)¶ Parameters: - path – the experiment to run
- r – the step values to run each simulation for
Runs an experiment,
exp, by invokingrunon each trial simulation.ris the range to run each simulation and is of the format:equilibrium:frequency:stepswhereequilibriumis the number of steps to equilibriate the system for,frequencyis how often to save the system state, andstepsis how many steps to run for after equilibrium steps have been taken.
Simulation¶
The simulation type is used to contstruct a simulation system and run it for a desired amount of steps. It is responsible for steping the system and performing scheduled analysis of the system state, including writing the state to disk and calculating statistical quantities for the system.
Functions¶
-
Simulation(dir, dc, log)¶ Parameters: - dir – the directory path where a simulation directory will be created
- dc – Dimensionless constants to be used for the simulation
- log – The log to use for the simulation
Create a simulation. An
idis assigned based on the next available directory indirfolling the convention:dir/trial$id.dcis a dimensionless contant object that is used to initialize the simulation system.logis a log object for the system to use for logging.
-
Simulation(id, path, dc, log) Parameters: - id – a unique integer identifier for the simulation
- path – the directory where the simulation files will be stored
- dc – the dimensionless constants for the simulation
- log – the log to use for the simulation
Creates a simulation.
idis a unique identifier for the simulation.pathis where the simulation will place output files.dcis a dimensienless constant object for creating the system with.logis used to log simulation messages.
-
run(sim, r) Parameters: - sim – the simulation to be run
- r – the step parameters to run for
Runs simulation,
sim, for ranger.ris of the format:equilibrium:frequency:stepswhereequilibriumis the number of steps to equilibriate the system for,frequencyis how often to save the system state, andstepsis how many steps to run for after equilibrium steps have been taken.Example
# initialize sim for 100 steps, then run for 5000 steps # and take measurements every 1000 steps run( sim, 100:1000:5000 )
Physical Constants¶
The PhysicalConst type has many fields describing the physical (dimensional)
parameters of the system:
-
PhysicalConst(dt, phi, eta, temp, boltz, prop, rep, adh, contact, dia, npart, diff, rotdiff)¶ Parameters: - dt – the time constant
- phi – the packing fration
- eta – the viscosity
- temp – the system temperature
- boltz – boltzmann’s constant
- prop – the propulsion for each species
- rep – the repulsion for each species
- adh – the adhesion for each species
- contact – the contact distance as a fraction of the diameter
- dia – the diameter of each particle
- npart – the number of particles of each species
- diff – the diffusion
- rotdiff – the rotational diffusion
Dimensionless Constants¶
The DimensionlessConst type has many fields corresponding to dimensionless
parameters of the system. A dimensionless type can be invoked by passing it
a PhysicalConst type from which it will produce dimensionless parameters
by scaling appropriatly.
-
DimensionlessConst(dt, phi, eta, temp, boltz, prop, rep, adh, contact, dia, npart, diff, rotdiff, pretrad, prerotd)¶ Parameters: - dt – the time constant
- phi – the packing fration
- eta – the viscosity
- temp – the system temperature
- boltz – boltzmann’s constant
- prop – the propulsion for each species
- rep – the repulsion for each species
- adh – the adhesion for each species
- contact – the contact distance as a fraction of the diameter
- dia – the diameter of each particle
- npart – the number of particles of each species
- diff – the diffusion
- rotdiff – the rotational diffusion
- pretrad – the prefactor for translational diffusion
- prerotd – the prefactor for rotational diffusion
System¶
The System type is used to represent a physical system. It holds a list of
particles which it is simulating, the dimensionless parameters of the system,
and a CellGrid which is used to efficiently sort and simulate the particles.
-
System(dc)¶ Parameters: dc – the dimensionless contstants for the system Initializes a system using the dimensionless parameters
dc. Constructs a cell grid and particles based on the specification of the parameters.
-
uniformSphere(dc)¶ Parameters: dc – the dimensionless contstants for the system Creates a list of particles, the number of which are specified by the npart field of
dc, that have been randomly distributed in a sphere.
-
step(s)¶ Parameters: s – the system to make a step on Steps a system
sby one step by calling the force calculation function.
-
assignParts(s)¶ Parameters: s – the system to assign particles in Assigns particles in a system into Cells in the system’s
CellGrid. Called bySimulationduring a run periodically so collision checks can be made efficiently using the cell grid.