Main Page   Modules   Compound List   File List   Compound Members   File Members  

ssystem.h

Go to the documentation of this file.
00001 /* 
00002 // File:     ssystem.h    < ssystem.c >
00003 //
00004 // Purpose:  
00005 //    'Class' ssystem:  
00006 //      simulation system object
00008 
00063 #ifndef _SSYSTEM_H_
00067 #define _SSYSTEM_H_ 1
00068 
00069 #include "maloc/maloc.h"
00070 #include "apbs/apbs.h"
00071 #include "isim/various.h"
00072 #include "isim/ionlist.h"
00073 #include "isim/params.h"
00074 #include "isim/energy.h"
00075 #include "isim/macromolecule.h"
00076 #include "isim/twister.h"
00077 
00078 
00087 typedef struct ssystem{
00088         double radius;                  
00089         double length;                  
00090         double acc_vol;         
00091         double tot_vol;         
00092         ionlist *ions;                  
00093         macromolecule *mm;      
00094         int *expects;                   
00095         int types;                              
00096         energy *energies;               
00097         params *parameters;     
00099         double *parres;      
00100         int PLEASE_REFINE;   
00101         int tries;           
00102         int nroftu;          
00103         int nrinnsp;         
00104         double maxex;        
00105         double minex;        
00106         int *maxnrofc;       
00107         double **parconcs;   
00108         int *nrofc;          
00109         double totscoc;      
00111         double (*ssystem_volume)(struct ssystem *thee);                                                                                                                                         
00112         void (*ssystem_valid_xyz)(struct ssystem *thee, double *xyz);                                                                                                   
00113         void (*ssystem_move_one)(struct ssystem *thee, int type, int pos);                                                                                      
00114         void (*ssystem_move_some)(struct ssystem *thee, int type, int start, int nr, double *coordsnew[]);      
00116 } ssystem;
00117 
00118 #ifndef _SSYSTEM_INLINES_
00119 
00120 #else
00121 
00122 #endif /* ifndef _SSYSTEM_INLINES_ */
00123 
00129 ssystem* ssystem_ctor();
00130 
00140 void ssystem_dtor(ssystem *thee);
00141 
00148 double sphere_volume(ssystem *thee);
00149 
00156 double cylinder_volume(ssystem *thee);
00157 
00166 void sphere_valid_xyz(ssystem *thee, double *xyz);
00167 
00176 void cylinder_valid_xyz(ssystem *thee, double *xyz);
00177 
00187 void sphere_move_one(ssystem *thee, int type, int pos);
00188 
00198 void cylinder_move_one(ssystem *thee, int type, int pos);
00199 
00213 void sphere_move_some(ssystem *thee, int type, int start, int nr, double *coordsnew[]);
00214 
00228 void cylinder_move_some(ssystem *thee, int type, int start, int nr, double *coordsnew[]);
00229 
00239 void ssystem_setup(ssystem *thee);
00240 
00253 int ssystem_parprepare(ssystem *thee);
00254 
00266 void ssystem_process_results(ssystem *thee);
00267 
00274 void ssystem_calculate_expects(ssystem *thee);
00275 
00283 void ssystem_populate(ssystem *thee);
00284 
00300 void ssystem_creation_destruction(ssystem *thee, int GCsteps, int type);
00301 
00315 void ssystem_minimization(ssystem *thee, int minsteps, FILE *en);
00316 
00335 void ssystem_shuffling(ssystem *thee, int MCsteps, int step, char mode, FILE *en);
00336 
00337 #endif /* ifndef _SSYSTEM_H_ */
00338 
00339 

Generated on Tue Jun 18 16:58:25 2002 for ISIM by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002