For more details on setting up, running, and getting output from an NFsim simulation see the User Manual. The User Manual also has additional information for new developers. The manual is available online along with examples here: http://www.nfsim.org
-help = outputs a helpful message to the console
-xml [filename] = specifies the xml file to read
-sim [Duration in sec] = specifies the length of time to simulate the system
-oSteps [num of steps] = specifies the number of times to output during the simulation
-eq [Duration in sec] = specifies the length of time to equilibrate before simulating
-o [filename] = specifies the name of the output file
-v = verbose output when reading an xml file and building a system
-b = output in binary (faster, but output is not human readable)
-utl [integer] = universal traversal limit, see manual
-notf = disables On the Fly Observables, see manual
-cb = turn on complex bookkeeping, see manual
-gml [integer] = sets maximal number of molecules, per any MoleculeType, see manual
All of the other main classes are defined in the NFcore namespace and are found in the NFcore directory and the NFreactions directory. The NFcore directory contains the basic structure of the simulation engine while the NFreactions directory contains the classes associated with actually executing rules and transforming molecules. NFinput contains what's needed for the xml parser (built using the TinyXML package) and the command line parser. NFutil also contains a nice implementation of the Mersenne Twister random number generator which should be used for all random number generation in NFsim. NFoutput is more sparse as it deals only with handling the more complicated output required of groups and complexes. (Basic outputting is handled easily with the System and Observable classes in the NFcore namespace).
Another note for developers: class functions and member variables are generally well commented in the header file in which they are declared. So if you are lost in some source file, and you think there aren't any comments, be sure to check the header file before you ask for help.
A number of other people have helped in getting NFsim to where it is today, either by aiding in the concepts of the design, testing the implementation, adding some features to the code, or by suggesting improvements.
A partial list of these people include:
Garrit Jentsch, William Pontius, Oleksii Sliusarenko, Justin Hogg, Christopher Henry, Fangfang Xia, Ryan Gutenkunst,