--- trunk/OOPSE/libmdtools/SimSetup.hpp 2003/03/26 20:22:02 407 +++ trunk/OOPSE/libmdtools/SimSetup.hpp 2004/06/01 18:42:58 1214 @@ -6,9 +6,10 @@ #include "ForceFields.hpp" #include "SimInfo.hpp" #include "ReadWrite.hpp" +#include "AllIntegrator.hpp" // this routine is defined in BASS_interface.cpp -void set_interface_stamps( MakeStamps* ms, Globals* g ); +extern void set_interface_stamps( MakeStamps* ms, Globals* g ); class SimSetup{ @@ -16,7 +17,9 @@ class SimSetup{ (public) SimSetup(); ~SimSetup(); - void setSimInfo( SimInfo* the_simnfo ) { simnfo = the_simnfo; } + void setSimInfo( SimInfo* the_info ) { info = the_info; } + void setSimInfo( SimInfo* the_info, int theNinfo ); + void suspendInit( void ) { initSuspend = true; } void parseFile( char* fileName ); void createSim( void ); @@ -27,23 +30,48 @@ class SimSetup{ (public) void receiveParse(void); #endif - void makeMolecules( void ); + void gatherInfo( void ); + void sysObjectsCreation( void ); + void finalInfoCheck( void ); + void initSystemCoords( void ); + void makeOutNames(void); + void makeIntegrator(void); + void initFortran(void); + void makeMinimizer(void); - void makeAtoms( void ); - void makeBonds( void ); - void makeBends( void ); - void makeTorsions( void ); + void createFF( void ); + void compList( void ); + void calcSysValues( void ); + void makeSysArrays( void ); +#ifdef IS_MPI + void mpiMolDivide( void ); + + int* mol2proc; + int* molCompType; + +#endif //is_mpi + void initFromBass( void ); + void makeMolecules( void ); void makeElement( double x, double y, double z ); + int ensembleCase; + int ffCase; + MakeStamps* stamps; Globals* globals; char* inFileName; - SimInfo* simnfo; + SimInfo* info; + int isInfoArray; + int nInfo; + + bool initSuspend; int n_components; + int globalAtomCounter; + int globalMolCounter; char force_field[100]; char ensemble[100]; @@ -53,15 +81,13 @@ class SimSetup{ (public) MoleculeStamp** comp_stamps; //the stamps matching the components int tot_nmol; int tot_atoms; + int tot_groups; + int tot_rigid; int tot_bonds; int tot_bends; int tot_torsions; int tot_SRI; - Atom** the_atoms; - SRI** the_sris; - int *the_excludes; - Molecule* the_molecules; ForceFields* the_ff; // needed by makeElement @@ -71,9 +97,9 @@ class SimSetup{ (public) int current_comp; int current_atom_ndx; -#ifdef IS_MPI - int* globalIndex; -#endif //is_mpi + vector globalAtomIndex; + vector globalGroupIndex; + void setupZConstraint(SimInfo& theInfo); //setup parameters for zconstraint method }; #endif