Test commands: Commands to test various conditions in CHARMM [SYNTAX TEST] Syntax of the TEST commands: TEST FIRSt [TOL real] [STEP real] [UNIT int] [MASS int] [atom-selection] (0.005) (0.0001) (6) (0) [ CRYStal [ HOMOgeneous ] ] TEST SECOnd [TOL real] [STEP real] [UNIT int] [2xatom-selection] (0.005) (0.0001) (OUTU (6)) TEST COORdinates [COMP] TEST CONNectvity [SUBSet atom-selection] [COMMon atom-selection] [PRINt] TEST PSF TEST PARAmeter TRIGonometry { DIHEdral } { CDIHedral } { VDIHedral } { IMPRoper } TEST HEAP TEST STACk GETHeap integer TEST INITialization RESET TEST NOCOmmunication { READ UNIT int STEP int MEMO int } { WRITE UNIT int STEP int MEMO int } { CLOSE } TEST STAMp LEVEl int TEST MEMOry ACCUmulate [ALLOcations]/[DEALlocations] RESEt [ALLOcations]/[DEALlocations] NODIe [ALLOcations]/[DEALlocations] DIE [ALLOcations]/[DEALlocations] PRDBase [ALLOcations]/[DEALlocations] [SUCCesses]/[FAILures] PFLY [ALLOcations]/[DEALlocations] COMParison [NOFIle] [NOPRocedure] [NONAme] [NOTYpe] [NORAnk] [NOSIze] [INSEnsitive] [VERBose] The TEST FIRSt command, tests the first derivative of the energy by finite differences. It uses the GETE subroutine, so that before this command is invoked, the UPDAte command must be invoked. Since two energy evaluations are done for each degree of freedom, an atom selection should be used for large systems. The TOL keyword may be used to list only those terms which differ by more than a particular tolerance factor. The STEP keyword gives the finite difference step size in angstroms. The MASS integer value determines how mass weighting will be used with regards to rigid or SHAKE constraints (0= no mass weighting, 1= mass weighting, -1=ignore water hydrogen masses). This command is analogous to the second derivative test command under the vibrational analysis (VIBRAN:: WRITE SECOnd derivatives CARD FINIte). The CRYStal keyword also causes the forces along the crystal degrees of freedom to be checked. The HOMOgeneous keyword causes the causes all of the atoms to be scaled in a homogeneous fashion when the box size/shape changes. The TEST SECOnd command, tests the second derivative of the energy by finite difference of the forces. It is thus assumed that the first derivative is right. UPDAte should be invoked before use. Selection is allowed. The elements of the 2nd derivative matrix computed are the first selection by the second selection in size. If only one selection is specified then the the components of the 2nd derivative matrix corresponding to this selection is constructed. If no selection is given, then the whole 3Nx(3N+1)/2 second derivative matrix is created by analytic and finite difference methods. So don't use a too big system (a few hundred atoms depending on your computer). TOL and STEP have the same meaning than for TEST FIRSt. The TEST COORdinates command will test to insure that all coordinates are in range and defined. The comparison coordinates may be tested. The TEST CONNectivity command tests the structure for proper connectivity between the selected set of atoms. This is to facilitate finding loose pieces of a molecule after a DELEte ATOM command. The algorithm checks to make sure that some connective bonding, bonds, angles or torsions, exist between atoms in the selection SUBSet and atoms in the COMMon set selection. For example, if a sequence of amino acid residues, say 1-5, were selected as the SUBSet and only residue 5 was selected for the COMMon set the CONNectivity between the two sets is true. If, say, residue 10 was selected for the common set then the test would prove false and the message "One disconnected segment found" would be printed. The TEST PSF command tests most of the data in the structure file. The data is sorted and duplications are found as well. The TEST PARAmeter command write out the tables used by energy routines. DIHEdral, CDIHedral and IMPRoper TRIGonometry tables are the parameters listed in the order they are stocked. Number, Force-constant, Periodicity, Reference Angle, Cosine and sine are listed. The VDIHedral option lists the dihedral energy term series as they are used in the PARVect dihedral energy routines. Term-number, Parameter-number (cf DIHEdral), Force-constant, Periodicity, Reference Angle, Cosine and sine are listed. TEST PARAmeter is mostly for developing purposes. An unknown option will be ignored. The TEST HEAP command causes the heap data to be printed between non-miscellaneous commands. This will continue until job termination. This makes it easy to see where space allocation went wrong during program development. The TEST STACk command performs the same function for stack space usage. The GETHeap routine allocates and then frees a block of memory specified in words. This command is used to prevent fragmentation of memory, or to preallocate disk space for a long run that will need space later. The TEST INITialization command will initialize just about everything. Its use is in testing the program when making major changes or additions. The RESEt command deletes all atoms and calls the initialization routine. It should be called before TEST INIT to reset everything. The TEST NOCOmmunication performs parallel run reading data from memory instead. TEST NOCO WRITE command has to be performed on a single CPU and writes all the necessary data from memory to a file specified by UNIT keyword. The STEP keyword specifies the number of steps for which the information will be saved to a file. MEMOry keyword reserves the memory needed for this operation. TEST NOCO READ has the same parameters as WRITE, but the complete information is stored to the memory from the file for the number of steps specified with the STEP keyword. TEST NOCO CLOSe has to be specified after WRITE command and before STOP. The TEST STAMp command outputs a time stamp in microsecond precision of the following events: level= 0 - OFF -1 - from input script 1 - report from dynamics 2 - report from paral1 routines 4 - report from paral3 routines NOTE: It is possible to combine reports, ie level=6 is the same as level.eq.4 or level.eq.2 ------------------------------------------------------------------------------------- The TEST MEMOry subcommand is mainly intended as a developers' tool. It allows for information on memory allocations and deallocations in CHARMM to be accumulated in databases, printed out, and analyzed. TEST MEMOry ACCUmulate begins the compilation of databases containing information on the memory allocated and/or deallocated for arrays during a CHARMM run. The databases for failed allocations/deallocations are also accumulated. TEST MEMOry RESEt reinitializes the allocation/deallocation databases. TEST MEMOry NODIe globally disables the termination of a run on memory allocation/deallocation errors. TEST MEMOry DIE re-enables the termination of a run on memory errors. TEST MEMOry PRDBase prints the databases of successfully/unsuccessfully allocated/deallocated arrays. By default, it prints both successes and failures. TEST MEMOry PFLY prints information about allocations/deallocations at runtime (i.e. "on the fly"). By default, all of the above commands apply to both allocations and deallocations. Allocations-only and deallocations-only can be specified with the ALLOcation and DEALlocation options, respectively. TEST MEMOry COMParison does a comparison of the allocation and deallocation databases and checks for discrepancies. By default, it uses the following information in the comparisons: 1) filename 2) procedure name 3) array name 4) array type 5) array rank 6) array size. Any of these can be omitted from the comparison criteria by use of the following corresponding command options: 1) NOFIle 2) NOPRoc 3) NONAme 4) NOTYpe 5) NORAnk and 6) NOSIze. By default, the comparisons are done in a case-sensitive manner for 1), 2), and 3). (The literal strings appearing in the code are used for these criteria.) The 'INSEnsitive' option makes these comparisons case-insensitive. When 'NOSIze' or 'NOTYpe' are used, the memory usage data (size and bytes) in the comparisons is of course unreliable. Examples: TEST MEMOry ACCUmulate ALLOcations ! begins compilation of allocation DBs TEST MEMOry ACCUmulate DEALlocations ! begins compilation of deallocation DB's TEST MEMOry ACCUmulate ! begins compilation of all allocs & deallocs (above equivalent to TEST MEMORY ACCUmulate ALLOcate DEALlocate) TEST MEMOry ACCUmulate STOP !stops compilation of all DBs TEST MEMOry ACCUmulate STOP ALLOC !stops compilation of allocation DBs TEST MEMOry PRDB ALLOC FAIL !prints out DB of failed allocations only TEST MEMOry PRDB !print out all DBs TEST MEMOry PFLY DEALloc !prints out all deallocations on the fly TEST MEMOry NODIe ALLOc !disables termination on allocation error TEST MEMOry COMP NOFIle INSEnsitive !performs comparison of allocation and ! deallocation databases, without regard to filename or case
CHARMM Documentation / Rick_Venable@nih.gov