Designed for scalability across distributed and parallel computing networks from the ground up.
Highly flexible plugin architecture utilizing plugins for the
Physical interactions between atomic and molecular entities
Traversal of atomic and molecular entities in time and space for the calculation of interactions - allows for multiresolution, hybrid meso-scale/molecular dynamics/quantum mechanics simulations
Distribution of work units to compute network nodes
Management of entity data in dynamic and static storage
Management and presentation of simulation results - both realtime and post-simulation
Import and export of entity data from, and to, the various data formats
Control of the simulator
Atoms and molecules in the simulation space can be powered or simply forced to follow predetermined paths by the simulator - useful for activating motors, modelling dynamic phenomena, or moving molecular tools in to, and out of, molecular work areas, for example. Activators include linear forces, torques, and hard-pathing of atoms and molecules.
The workflow of each simulation is scriptable for maximum flexibility and customization. With scripting the user can control
Loading of input data
Application of pathing instructions to molecular "handles"
How many times to repeat a simulation and how to change each repitition - useful for exploring multiple nanosystem alternatives and adjustments in a single simulator run
Ordering and parallelization of physical interaction calculations
Intermediate and final output of simulation results
Intermediate and final output of nanosystem state
The default scripting language is TCL. Other scripting languages may be added depending on demand.
3.1. NanoHive-1 Version 1.0 - Done
This initial version was targeted for moderate throughput workstation use and supported one single-threaded, local physical interaction plugin at a time.
Plugins included with the release:
Physical Interaction
REBO_MBM - employs the Reactive Empirical Bond Order potential for hydrocarbons
Entity Traversal
RC_Traverser - default traversal of simulation space
Entity Management
RAMEntityManager - manages atomic and molecular entities in the computer's RAM
Simulation Results
MeasurementSetToFile - writes simulation results to a file for further analysis
POVRayVideo - generates a series of POVRay scene descriptions which are then rendered into and MPEG video of the simulation
NetCDF_DataSet - writes the simulation results as a NetCDF dataset
Data Import/Export
nanoML_ImportExport - handles nanoML and CML input/output formats
Simulation Control
ConsoleCommand - control NanoHive-1 from the command line
RMI_Control - control NanoHive-1 via RMI - useful for integration with Java front-ends
Supported scripting elements
NH_Import and NH_Export for data import and export
NH_Calculate and NH_ApplyPath for physical interaction and pathing
NH_Intermediate and NH_Final for simulation results
Tools included with the release:
POVRayDataLayer - used in conjuction with the POVRayVideo plugin to generate simulation videos
3.2. NanoHive-1 Version 1.1 - Done
This version expands the capabilities of version 1.0 to better utilize high performance workstations and servers for higher simulation throughput. This version supports running multiple, multi-threaded simulations simultaneously, each able to access multiple Physical Interaction plugins.
This version also adds several plugins to expand the simulator's functionality including quantum mechanics and bond calculation Physical Interaction plugins, a TCP sockets Simulation Control plugin, a multi-file-format Data Import/Export plugin, and an Entity Traversal plugin that sub-divides the simulation space for effective multi-threaded calculation.
User input precipitated the need for a friendlier user interface than the command line (surprise), and an alpha version of HiveKeeper, a GUI for the simulator was created and included with this release.
3.3. NanoHive-1 Version 1.2 - Currently in Beta
This version is fully distributable across computing networks. Due to popular demand, an @home-style distributed computing (DC) client will be made available that people can run on their idle computers. The DC client will enable people to take part in large nanoscale simulations submitted by academic and non-profit organizations. See NanoHive@Home for more details.
3.4. NanoHive-1 Plugin Build-Out
This phase of development will focus on the creation of more plugins, such as reactive molecular dynamics plugins covering many more atom types, and a non-equilibrium Green's function (NEGF) plugin to calculate current, voltage, and resistance (IVR) characteristics of nanodevices.
3.5. NanoHive-1 HiveArena
Remember Core Wars? In Core Wars you wrote machine code programs that tried to destroy/over-write other programs in silent battle. The idea with HiveArena is that contestants create nano-bots that fight it out to the end. The battle space is the NanoHive-1 simulation space, and the processing power to compute bouts would come from participating contestant universities or organizations, and the @home DC client force.