Files | |
| file | ssystem.h |
| Data members and function declarations for class ssystem. | |
Compounds | |
| struct | ssystem |
| Class for simulation system objects. More... | |
Defines | |
| #define | _SSYSTEM_H_ 1 |
| Environment variable for 'ssystem.h'. | |
Functions | |
| ssystem * | ssystem_ctor () |
| Constructor for the ssystem object. More... | |
| void | ssystem_dtor (ssystem *thee) |
| Destructor for the ssystem object. More... | |
| double | sphere_volume (ssystem *thee) |
| Volume calculation for a sphere. More... | |
| double | cylinder_volume (ssystem *thee) |
| Volume calculation for a cylinder. More... | |
| void | sphere_valid_xyz (ssystem *thee, double *xyz) |
Generate a point (Cartesian in
) inside the solvent- accessible volume of a sphere (accessibility is mediated by the macromolecule object hidden in 'thee'). More... | |
| void | cylinder_valid_xyz (ssystem *thee, double *xyz) |
Generate a point (Cartesian in
) inside the solvent- accessible volume of a cylinder (accessibility is mediated by the macromolecule object hidden in 'thee'). More... | |
| void | sphere_move_one (ssystem *thee, int type, int pos) |
| Move a specified ion hidden in 'thee->ions' under the restriction of the spherical system boundaries, updates the coordinates array within the ionlist object directly. More... | |
| void | cylinder_move_one (ssystem *thee, int type, int pos) |
| Move a specified ion hidden in 'thee->ions' under the restriction of the cylindrical system boundaries, updates the coordinates array within the ionlist object directly. More... | |
| void | sphere_move_some (ssystem *thee, int type, int start, int nr, double *coordsnew[]) |
| Move some specified ions hidden in 'thee->ions' under the restriction of the spherical system boundaries, writes the new coordinates to temporary array. More... | |
| void | cylinder_move_some (ssystem *thee, int type, int start, int nr, double *coordsnew[]) |
| Move some specified ions hidden in 'thee->ions' under the restriction of the cylindrical system boundaries, writes the new coordinates to temporary array. More... | |
| void | ssystem_setup (ssystem *thee) |
| Setup routine for the ssystem object (i.e. the whole simulation). More... | |
| int | ssystem_parprepare (ssystem *thee) |
| Additional setup function used in parametrization mode. More... | |
| void | ssystem_process_results (ssystem *thee) |
| Transforms the primary results obtained in a parametrization simulation into excess chemical potentials. More... | |
| void | ssystem_calculate_expects (ssystem *thee) |
| Calculate numbers for ions in solvent-accessible volume according to specific ion concentrations and system size when assuming a bulk electrolyte solution. More... | |
| void | ssystem_populate (ssystem *thee) |
| Populate the simulation system with initial (bulk) numbers of ions of each type in an entirely random conformation (the only restrictions are the system boundaries and the solvent accessiblity of the coordinates). More... | |
| void | ssystem_creation_destruction (ssystem *thee, int GCsteps, int type) |
| Routine provides the "heart" of the whole simulation: Ions are attempted to be created (random, accessible point) and destroyed (random choice) always one for both attempts for each type according to ion type's input order (e.g. if two ionic species "joe" and "jill" are specified, it tries to create one joe-ion, tries to destroy one joe-ion, tries to create one jill-ion and finally tries to destroy one jill-ion). More... | |
| void | ssystem_minimization (ssystem *thee, int minsteps, FILE *en) |
| This routine is a simple Monte Carlo moving procedure at 0K, ions are attempted to be moved and the energy change is evaluated after each single movement. More... | |
| void | ssystem_shuffling (ssystem *thee, int MCsteps, int step, char mode, FILE *en) |
| This routine is a simple Monte Carlo moving procedure at the simulation temperature, which offers different modes. More... | |
To be able to handle the different simulation systems (cylindrical and spherical ones) function pointers are used (which replace virtual abstract functions and inheritance in clean OO-C)
|
||||||||||||||||
|
Move a specified ion hidden in 'thee->ions' under the restriction of the cylindrical system boundaries, updates the coordinates array within the ionlist object directly.
|
|
||||||||||||||||||||||||
|
Move some specified ions hidden in 'thee->ions' under the restriction of the cylindrical system boundaries, writes the new coordinates to temporary array.
|
|
||||||||||||
|
Generate a point (Cartesian in
|
|
|
Volume calculation for a cylinder.
|
|
||||||||||||||||
|
Move a specified ion hidden in 'thee->ions' under the restriction of the spherical system boundaries, updates the coordinates array within the ionlist object directly.
|
|
||||||||||||||||||||||||
|
Move some specified ions hidden in 'thee->ions' under the restriction of the spherical system boundaries, writes the new coordinates to temporary array.
|
|
||||||||||||
|
Generate a point (Cartesian in
|
|
|
Volume calculation for a sphere.
|
|
|
Calculate numbers for ions in solvent-accessible volume according to specific ion concentrations and system size when assuming a bulk electrolyte solution.
|
|
||||||||||||||||
|
Routine provides the "heart" of the whole simulation: Ions are attempted to be created (random, accessible point) and destroyed (random choice) always one for both attempts for each type according to ion type's input order (e.g. if two ionic species "joe" and "jill" are specified, it tries to create one joe-ion, tries to destroy one joe-ion, tries to create one jill-ion and finally tries to destroy one jill-ion).
All necessary information is updated throughout the procedure
|
|
|
Constructor for the ssystem object.
|
|
|
Destructor for the ssystem object. Calls destructor functions for 'params' object, 'energy' object, 'macromolecule' object and has a pseudo-destructor function for the 'ionlist' objects in addition to its "normal" function
|
|
||||||||||||||||
|
This routine is a simple Monte Carlo moving procedure at 0K, ions are attempted to be moved and the energy change is evaluated after each single movement.
One step is completed after every ion has been attempted to be moved once One preliminary total energy evaluation is performed and later on all necessary information is updated throughout the procedure
|
|
|
Additional setup function used in parametrization mode. Also does multiple tasks like reading in the concentration schemes, finding an appropriate simulation system (size), calculating ion numbers and most significantly keep track of the whole parametrization procedure with the help of various counters
|
|
|
Populate the simulation system with initial (bulk) numbers of ions of each type in an entirely random conformation (the only restrictions are the system boundaries and the solvent accessiblity of the coordinates).
|
|
|
Transforms the primary results obtained in a parametrization simulation into excess chemical potentials.
The function 'ssystem_parprepare' writes out a table of results (excess chemical potential vs. mean ion number) for each concentration set and for each species, regression then yields the excess chemical potential value finally used by substituting the number expectation value into the linear equation
|
|
|
Setup routine for the ssystem object (i.e. the whole simulation). Does multiple tasks like transferring parameters from 'thee->parameters' to other components, assigning function pointers, calling necessary constructor as well as other initialization functions and documentates it all in the log-file
|
|
||||||||||||||||||||||||
|
This routine is a simple Monte Carlo moving procedure at the simulation temperature, which offers different modes.
Either all ions are attempted to be moved an the energy is evaluated afterwards ('A') or just some ('S') ions of one type or just one ('N') are treated analagously One step is completed after every ion has been attempted to be moved once All necessary information is updated throughout the procedure
|
1.2.14 written by Dimitri van Heesch,
© 1997-2002