Move to implementation based on domains. Domains would be parts of the simulator that can change and would require different options based on which part was active. Then these parts can call valueForOption:inDomain: or something. That way you wouldnt have to keep adding methods here for every new option. Can also have standard domains e.g. General, Electrostatic etc.
The listhandler should either use an specialised init e.g. initWithEnvironment:coordinates:topology:parameters or pass these when creating the lists createListForCoordinates:topology:parameters The first seems better. Currently you have to initialise, then set the values, then create which defeats the purpose on initialise... Or use dataSource...
Since AdNonBondedTopology resets all its listHandlers data on unarchiving the initWithCoder methods of AdNonbondedListHandler object do nothing more than return a normal freshly initialised instance. This seems to defeat the purpose of encoding. Need to look at AdNonbondedTopology encoding/decoding and fix this
Could also implement a method that returns a subset of the list matching a certain criteria? Although this would have to be an array and then you would need to create different functions for lists or array
This object will be renamed AdEnvironmentObject and be used as the super class for all objects that use environment initialisation. Classes that dont use environment initialisation will be remove from the hierarchy.
Factor out the thermostat portions of the algorithm if possible. This will allow NewtonianSimulator to use a wide variety of different thermostats e.g. Nose-Hoover, constant pressure berendsen etc. These object would act as delegates and be sent a message before each step of velocity-verlet algorithm allowing it to take action. (Obviously the termostat must be adapted to velocity verlet)
Format of energy archive changed from Kernel 0.9. ULResults has been updated to use the new format but many of the internal mechanisims it still uses are a direct result of the old format. Need to optimise ULResults for the new format.