Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
modern_egfrd/doc/notes on model-files.txt
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
67 lines (44 sloc)
1.98 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
note on gfrd model files: | |
known issules: | |
file should have unix style line terminators, that is a LF, (0x0A or \n) or parser will fail on linux | |
last line of model-file should have a LF (or that line is not parsed) | |
speciestype names: | |
conform regex "[a-zA-Z][\w\-*_']*" | |
variable names: | |
conform regex "[a-zA-Z][a-zA-Z0-9_]*" | |
particle placement: | |
conform regex "(\(([^,]+),([^,]+),([^,]+)\)\s*(?:,\s*(.+))*)" | |
=> exact position in form (x, y, z) [,N] | |
with N is amount of particles (as number or expression), x,y,z, should also be expressions, use following loop parameters: | |
n = 0..N-1 or x = 0..1 or xx = -1..+1 | |
when N is omitted a single particle is placed at the specified coordinate | |
non conform: specifies number or expression for random placement of N particles. | |
expressions: as described in exprtk (case sensitive, NO enhanced_features, break_continue, return_statement, rtl_io_file, rtl_vecops, control_structures) | |
declared variables are evaluated and assigned in order of the model file (lines from top to bottom). | |
variables assigned on the command-line (-d argument) take precedence over the model-file. | |
build in functions: | |
// Calculate the number of particles in a volume (in liter or dm^3) with a concentration (in molar or mol/dm3). | |
concentration( mol , volume) -> number of particles | |
// Convert a reaction rate from units 'per nanomolar per second' to units 'meter^3 per second' | |
per_nM_per_sec_to_m3_per_sec(rate) -> rate | |
More to follow: ? k_D(), k_a(), k_d(), ... | |
build in constants: | |
pi, e, inf, NA, | |
More to follow: ? kb, ... | |
text variables: | |
declare with $ prefix, | |
example: | |
dir = $ '~/data_out/' | |
file = $ dir + 'file.abc' | |
Mode flags: | |
definition | |
On = whole simulation (pre-run and main-run) | |
Run = main-run only (not in pre-run) | |
Off = Not at all | |
Default mode for sections (no need to specify) | |
CopyNumbers = Run | |
ParticlePosition = Run | |
Particles = On | |
Progress = On | |
ReactionRecord = Run | |
ReactionRule = On |