| 1 | import sys
 | 
|---|
| 2 | import pyMoleCuilder as mol
 | 
|---|
| 3 | 
 | 
|---|
| 4 | if len(sys.argv) < 13:
 | 
|---|
| 5 |         sys.stderr.write("Usage: "+sys.argv[0]+" <file> <order> <DoLongrange> <DoValenceOnly> <level> <near_field_cells> <server> <port> <basis> <inter-order> <distance> <steps> <bondtable>\n")
 | 
|---|
| 6 |         sys.exit(255)
 | 
|---|
| 7 | 
 | 
|---|
| 8 | FILE=sys.argv[1]
 | 
|---|
| 9 | ORDER=sys.argv[2]
 | 
|---|
| 10 | LONGRANGE=sys.argv[3]
 | 
|---|
| 11 | VALENCEONLY=sys.argv[4]
 | 
|---|
| 12 | LEVEL=sys.argv[5]
 | 
|---|
| 13 | NEAR_FIELD_CELLS=sys.argv[6]
 | 
|---|
| 14 | SERVERADDRESS=sys.argv[7]
 | 
|---|
| 15 | CONTROLLERPORT=sys.argv[8]
 | 
|---|
| 16 | BASISNAME=sys.argv[9]
 | 
|---|
| 17 | INTERORDER=sys.argv[10]
 | 
|---|
| 18 | DISTANCE=sys.argv[11]
 | 
|---|
| 19 | STEPS=int(sys.argv[12])
 | 
|---|
| 20 | BONDTABLE=sys.argv[13]
 | 
|---|
| 21 | 
 | 
|---|
| 22 | # load bond table file
 | 
|---|
| 23 | mol.CommandBondLengthTable(BONDTABLE)
 | 
|---|
| 24 | # Load molecule
 | 
|---|
| 25 | mol.MoleculeLoad(FILE)
 | 
|---|
| 26 | # Set parser parameter for mpqc
 | 
|---|
| 27 | mol.ParserSetParserParameters("mpqc", "theory=CLHF;basis="+BASISNAME+";")
 | 
|---|
| 28 | # set boundary
 | 
|---|
| 29 | mol.WorldSetBoundaryConditions("Ignore Ignore Ignore")
 | 
|---|
| 30 | # update molecule graph as first step setting does not change anything
 | 
|---|
| 31 | mol.GraphUpdateMolecules()
 | 
|---|
| 32 | # set box
 | 
|---|
| 33 | mol.WorldChangeBox("8,0,0,8,0,8")
 | 
|---|
| 34 | 
 | 
|---|
| 35 | for i in range(0,STEPS):
 | 
|---|
| 36 |         # set current time
 | 
|---|
| 37 |         mol.WorldSetWorldTime(str(i))
 | 
|---|
| 38 |         # fragment system
 | 
|---|
| 39 |         mol.SelectionAllAtoms()
 | 
|---|
| 40 |         mol.FragmentationFragmentation("", DISTANCE, ORDER, "1", "1", "", "0.", LEVEL, INTERORDER, "0", "0")
 | 
|---|
| 41 |         mol.FragmentationFragmentationAutomation(SERVERADDRESS, CONTROLLERPORT, "mpqc", "0.", LEVEL, NEAR_FIELD_CELLS, "3", LONGRANGE, "", VALENCEONLY, "0")
 | 
|---|
| 42 |         mol.FragmentationAnalyseFragmentationResults("1", "", "0")
 | 
|---|
| 43 | 
 | 
|---|
| 44 | # save homologies
 | 
|---|
| 45 | mol.PotentialSaveHomologies("homology.dat")
 | 
|---|
| 46 | mol.PotentialSaveAtomFragments("atomfragments.dat")
 | 
|---|
| 47 | 
 | 
|---|
| 48 | # exit
 | 
|---|
| 49 | sys.exit(0)
 | 
|---|