Index

Last Appendix

Next Appendix

 

Appendix B

Nanosimulator Operation



Introduction

This Appendix describes how to run the nanosimulator program and the command line parameters it supports.

The program requires a .pddf file (see Appendix C) to run. (If none is specified, it will attempt to use the file 'default.pddf'.) The .pddf file specifies all the information the program requires in order to simulate the virtual environment. A number of other parameters may be passed to the program in order to specify how the program outputs data; does it log data, echo reports to the console, save raytracer files, display realtime graphical views of the simulation, and so on.



Program Invocation

The program is run from the console using "nanosim [options]" - e.g.

>nanosim -h

(This brings up some simple online help)

>nanosim -Dactin.pddf -T100000 -d1000

(This starts the program using the 'actin.pddf' file, and runs the program for 100,000 cycles, saving log files every 1000 cycles.)



Command Line Parameters

The program can be given a number of optional command line parameters, which primarily affect the display and logging behaviour of the program, but can also set frequently changed program variables, such as the molarity of the solution being simulated, and the size of the simulation field. There is should not be a space between a command line parameter and its argument (if there is an argument) - the argument should follow directly..

Parameters Affecting Graphical Display

A number of parameters are concerned only with how the graphical display window of the program appears, and how quickly it is updated:

-c[Integer] - cycles per update: specifies the number of computation cycles between visual updates.

e.g. -c100 (update the graphics window every 100 program cycles)

-G - no Graphics: Suppress graphical output altogether. This can be used when the program is being run remotely, i.e. via telnet.

-r[Integer] - rgb files: regularly save SGI 'rgb' format graphics files every 'integer' cycles. (The saving is done using a system-level screen capture, so the graphics window must be visible for this to work.)

-x[Integer] - this sets the width of the graphics window, which otherwise defaults to 512.

-y[Integer] - this sets the height of the graphics window, which otherwise defaults to512.

e.g. -x1024 -y768 sets the graphics window to be 1024 by 768.

Parameters Affecting Logging and Reporting

These parameters are concerned with how frequently text data is output by the program, and how extensive that data is. The program logs data to a number of text files ('tubdata1.log' through to 'tubdata5.log', and 'tuberror.log'), as well as echoing information to the console and optionally writing raytracer files (of the form 'tubNNNNN.pov', e.g. 'tub00412.pov').

-d[Integer] - data logs: This sets the frequency at which the data logs are saved

(default = 200 cycles).

e.g. -d1000 would save new information to the data logs every 1000 cycles

-p[Integer] - povray raytracer files: This sets the frequency for saving 'povray'

(cf http://povray.org) raytracer files (default = no files saved). The files are

named 'tubNNNNN.pov', where 'NNNNN' is a unique, consecutive 5 digit

number starting from '00000'.

e.g. -d500 saves a new povray file every 500 cycles.

-s - silent: this suppresses all console text output (except errors)

-V - Verbose: produces detailed reporting used in debugging.

Parameters Affecting the Simulation Environment

Most parameters that affect the simulation environment are set in the .pddf file. However some parameters may be changed frequently, possibly every time the program is run. This includes running the program in a special mode, changing the modelling method, and setting how large a volume the program will simulate, with how many particles.

-B - Breakage: Changes the model to specify no breakage of multiply linked objects.

-D[File Name] - Data file: gives the name of the .pddf file to use (default is 'info.pddf')

e.g. -Dvirus_models/influenza57.pddf

(specifies use of the 'influenza57.pddf' file in the 'virus_models' directory)

-F - Freeze aggregate movement: this cause collections of objects to be stationary,

reducing computation time at the expense of realism. (default = no freezing)

-f[Integer] -> field size: this sets the width of the simulation cube in nanometres. For reasons of internal program efficiency, this volume must be a power of 2 greater than 32 (i.e. 32,64,128,256,512,1024 ...). (the default = 256)

e.g. -f1024 creates a simulation volume just over 1 micrometer cubed.

-m[Integer] - monomer used: this sets the total number of discrete monomer objects to use.

(If multiple object species are present, they will add to this number.) The

program reports on the equivalent molarity of the solution. (default = 500)

e.g. -m800 (use 800 objects in the simulation).

-M[Integer] - Molarity: this sets the molarity in micromoles. The program reports on the

total number of objects this is equivalent to. This is another way of specifying

the same information as the '-m' parameter above. It represents the aggregate

molarity of all the object species present in the solution. (default = ~6 M)

e.g. -M2.5 (sets the molarity of the solution to 2.5 micromole)

-NM - No Merging: this stops the program merging aggregates together. Merging

aggregates can be computationally intensive, and is not always reliable.

(default = merging).

-R - no Rotation: This turns aggregate rotation off. Rotation probably doesn't play

a large role in polymerisation, and can be computationally intensive.

(default = rotation)

General Parameters

Some parameters simply set general program behaviour.

-h/-H - help: displays a short help message.

-Hgraphics - Help for graphics: displays help on the graphics display window, and how to

interact with it.

-C[+/-] - Collision test: tests the number of collisions occurring for a single non-binding

object. This is used to work out the number of collisions/second that occur at a

particular time scale. the argument '+' indicates the test object is motile, while

'-' indicates the test object is stationary. Usually the stationary test is used, to

work out the number of collisions experienced by a particle on a growth tip of

a large aggregate.

-C+ (test the number of collisions undergone by a moving object)

-C- (test the number of collisions undergone by a stationary object).

-P - Parser test: parse the .pddf file, but don't run the program. Useful for testing a .pddf file that is being created.

-T[Integer] - Timed run: only run the program for a set number of iterations.

e.g. -T100000 (run the program for 100,000 cycles)

-v - version number: prints the version number of the program.



Graphics Display Window

The graphics display window shows a realtime view of the simulator in action. It also allows a limited amount of interaction with the user via the mouse and a set of hotkeys. Using the mouse the user can change their viewpoint by "rotating" the simulation space (The user's viewpoint remains a fixed distance from the centre, as if the simulation were within a globe, and the user was rotating that globe).

The user can also use the following keys to alter the way the program displays its output.

R - Refresh the view: This causes the program to refresh the graphical output immediately, without waiting for the next update.

B - toggle Bound objects off/on: This toggles the program between only showing aggregates, and showing both aggregates and free objects.

P -Pauses the simulation: This freezes the simulation, allowing the user to rotate and examine the field without it being updated. (The program does not continue the simulation until the 'P' key is pressed again.)

S - Save the current image: This saves the current window as an Silicon Graphics 'rgb' file.

V - save as povray: This saves the current image as a povray raytracer file.

L - show Links: This shows the linkage sites on objects as little spheres.

Finally. the 'Q' key can be used to end the simulation run.

Q - Quit the entire program.

Index

Last Appendix

Next Appendix