diff --git a/bin/cmmde.py b/bin/cmmde.py index 14a2deb..6e1b677 100755 --- a/bin/cmmde.py +++ b/bin/cmmde.py @@ -70,7 +70,7 @@ parser.add_argument('-ctype','--charge_type',type=str, default='gas', help='Tipe parser.add_argument('-Nump','--NumPelarut', type=int, default=100, help='Jumlah molekul pelarut maksimum dalam sistem larutan. Default = 100.') parser.add_argument('-cat','--cation',type=str, default='none',help='Kation yang digunakan untuk menetralkan muatan sistem larutan.') parser.add_argument('-p', '--pressure', default=1.0, type=float, help='Tekanan dalam satuan bar') -parser.add_argument('--packmol', type=str, default='packmol') +parser.add_argument('--packmol', type=str, default='/Users/adit/opt/packmol/packmol') # Opsi untuk melakukan restart simulasi MD parser.add_argument('-traj','--traject',type=str, default='../NVT/traject',help='File trayektori dari simulasi sebelumnya') parser.add_argument('-vel','--velocity',type=str, default='../NVT/velocity',help='File kecepatan atom dari simulasi sebelumnya') diff --git a/bin/cmmdepre.py b/bin/cmmdepre.py index 429a708..4064ec2 100755 --- a/bin/cmmdepre.py +++ b/bin/cmmdepre.py @@ -30,7 +30,7 @@ parser.add_argument('-n', '--layer', type=int, help='Jumlah lapisan permukaan at parser.add_argument('-ads','--ads',type=str, help='File koordinat Cartesian berisikan molekul adsorbat') parser.add_argument('-d','--distance',type=float,default=1.5,help='Jarak adsorbat dari lapisan teratas permukaan (Angstrom). Default: 1.5 Angstrom.') parser.add_argument('-height','--height',type=float,default=2.0, help='Tebal lapisan sisi aktif (Angstrom). Default: 2.0.') -parser.add_argument('-dyn','--dyn',type=float,default=3.0, help='Tebal lapisan bawah permukaan yang dibuat kaku (Angstrom). Default: 3.0.') +parser.add_argument('-dyn','--dyn',type=float,default=3.5, help='Tebal lapisan bawah permukaan yang dibuat kaku (Angstrom). Default: 3.0.') parser.add_argument('-e', '--element', type=str, help='Unsur yang akan dibuat klaster' ) parser.add_argument('-t', '--type', type=str, help='Tipe klaster yang akan dibuat. Pilihan: decahedron dan icosahedron') parser.add_argument('-lc', '--lc', type=float, help='Panjang sel satuan kristal ruah jika dianggap kubus.' ) diff --git a/lib/__pycache__/cmmde_array.cpython-310.pyc b/lib/__pycache__/cmmde_array.cpython-310.pyc new file mode 100644 index 0000000..f3e8be5 Binary files /dev/null and b/lib/__pycache__/cmmde_array.cpython-310.pyc differ diff --git a/lib/__pycache__/cmmde_atoms.cpython-310.pyc b/lib/__pycache__/cmmde_atoms.cpython-310.pyc new file mode 100644 index 0000000..5b935b6 Binary files /dev/null and b/lib/__pycache__/cmmde_atoms.cpython-310.pyc differ diff --git a/lib/__pycache__/cmmde_bravais.cpython-310.pyc b/lib/__pycache__/cmmde_bravais.cpython-310.pyc new file mode 100644 index 0000000..c644c19 Binary files /dev/null and b/lib/__pycache__/cmmde_bravais.cpython-310.pyc differ diff --git a/lib/__pycache__/cmmde_bulk.cpython-310.pyc b/lib/__pycache__/cmmde_bulk.cpython-310.pyc new file mode 100644 index 0000000..c0d0adc Binary files /dev/null and b/lib/__pycache__/cmmde_bulk.cpython-310.pyc differ diff --git a/lib/__pycache__/cmmde_cell.cpython-310.pyc b/lib/__pycache__/cmmde_cell.cpython-310.pyc new file mode 100644 index 0000000..781df21 Binary files /dev/null and b/lib/__pycache__/cmmde_cell.cpython-310.pyc differ diff --git a/lib/__pycache__/cmmde_clusterutil.cpython-310.pyc b/lib/__pycache__/cmmde_clusterutil.cpython-310.pyc new file mode 100644 index 0000000..825bd28 Binary files /dev/null and b/lib/__pycache__/cmmde_clusterutil.cpython-310.pyc differ diff --git a/lib/__pycache__/cmmde_cubic.cpython-310.pyc b/lib/__pycache__/cmmde_cubic.cpython-310.pyc new file mode 100644 index 0000000..b814659 Binary files /dev/null and b/lib/__pycache__/cmmde_cubic.cpython-310.pyc differ diff --git a/lib/__pycache__/cmmde_data.cpython-310.pyc b/lib/__pycache__/cmmde_data.cpython-310.pyc new file mode 100644 index 0000000..0ba7f60 Binary files /dev/null and b/lib/__pycache__/cmmde_data.cpython-310.pyc differ diff --git a/lib/__pycache__/cmmde_dcdftb.cpython-310.pyc b/lib/__pycache__/cmmde_dcdftb.cpython-310.pyc index 2a5b010..295acd6 100644 Binary files a/lib/__pycache__/cmmde_dcdftb.cpython-310.pyc and b/lib/__pycache__/cmmde_dcdftb.cpython-310.pyc differ diff --git a/lib/__pycache__/cmmde_decahedron.cpython-310.pyc b/lib/__pycache__/cmmde_decahedron.cpython-310.pyc new file mode 100644 index 0000000..4543ab4 Binary files /dev/null and b/lib/__pycache__/cmmde_decahedron.cpython-310.pyc differ diff --git a/lib/__pycache__/cmmde_dftb.cpython-310.pyc b/lib/__pycache__/cmmde_dftb.cpython-310.pyc index 77e396a..f3f8d97 100644 Binary files a/lib/__pycache__/cmmde_dftb.cpython-310.pyc and b/lib/__pycache__/cmmde_dftb.cpython-310.pyc differ diff --git a/lib/__pycache__/cmmde_formats.cpython-310.pyc b/lib/__pycache__/cmmde_formats.cpython-310.pyc new file mode 100644 index 0000000..7426de2 Binary files /dev/null and b/lib/__pycache__/cmmde_formats.cpython-310.pyc differ diff --git a/lib/__pycache__/cmmde_gen2poscar.cpython-310.pyc b/lib/__pycache__/cmmde_gen2poscar.cpython-310.pyc new file mode 100644 index 0000000..e8683bb Binary files /dev/null and b/lib/__pycache__/cmmde_gen2poscar.cpython-310.pyc differ diff --git a/lib/__pycache__/cmmde_icosahedron.cpython-310.pyc b/lib/__pycache__/cmmde_icosahedron.cpython-310.pyc new file mode 100644 index 0000000..6fa54bd Binary files /dev/null and b/lib/__pycache__/cmmde_icosahedron.cpython-310.pyc differ diff --git a/lib/__pycache__/cmmde_parallel.cpython-310.pyc b/lib/__pycache__/cmmde_parallel.cpython-310.pyc new file mode 100644 index 0000000..1673133 Binary files /dev/null and b/lib/__pycache__/cmmde_parallel.cpython-310.pyc differ diff --git a/lib/__pycache__/cmmde_stress.cpython-310.pyc b/lib/__pycache__/cmmde_stress.cpython-310.pyc new file mode 100644 index 0000000..3cf36f4 Binary files /dev/null and b/lib/__pycache__/cmmde_stress.cpython-310.pyc differ diff --git a/lib/__pycache__/cmmde_surface.cpython-310.pyc b/lib/__pycache__/cmmde_surface.cpython-310.pyc new file mode 100644 index 0000000..8214d64 Binary files /dev/null and b/lib/__pycache__/cmmde_surface.cpython-310.pyc differ diff --git a/lib/__pycache__/cmmde_symbols.cpython-310.pyc b/lib/__pycache__/cmmde_symbols.cpython-310.pyc new file mode 100644 index 0000000..5ccdb76 Binary files /dev/null and b/lib/__pycache__/cmmde_symbols.cpython-310.pyc differ diff --git a/lib/__pycache__/cmmde_tetrahedron.cpython-310.pyc b/lib/__pycache__/cmmde_tetrahedron.cpython-310.pyc new file mode 100644 index 0000000..8645577 Binary files /dev/null and b/lib/__pycache__/cmmde_tetrahedron.cpython-310.pyc differ diff --git a/lib/__pycache__/cmmde_tools.cpython-310.pyc b/lib/__pycache__/cmmde_tools.cpython-310.pyc new file mode 100644 index 0000000..6859576 Binary files /dev/null and b/lib/__pycache__/cmmde_tools.cpython-310.pyc differ diff --git a/lib/__pycache__/cmmde_unit.cpython-310.pyc b/lib/__pycache__/cmmde_unit.cpython-310.pyc new file mode 100644 index 0000000..c19d8b1 Binary files /dev/null and b/lib/__pycache__/cmmde_unit.cpython-310.pyc differ diff --git a/lib/__pycache__/cmmde_units.cpython-310.pyc b/lib/__pycache__/cmmde_units.cpython-310.pyc new file mode 100644 index 0000000..97c6306 Binary files /dev/null and b/lib/__pycache__/cmmde_units.cpython-310.pyc differ diff --git a/lib/__pycache__/cmmde_utils.cpython-310.pyc b/lib/__pycache__/cmmde_utils.cpython-310.pyc new file mode 100644 index 0000000..3963e72 Binary files /dev/null and b/lib/__pycache__/cmmde_utils.cpython-310.pyc differ diff --git a/lib/cmmde_dcdftb.py b/lib/cmmde_dcdftb.py index d1f5d92..9854a38 100644 --- a/lib/cmmde_dcdftb.py +++ b/lib/cmmde_dcdftb.py @@ -96,6 +96,9 @@ def dcdftb(job,method,geom,charge,mult,dispersion,para_path,temp,pressure,ensemb if "opt" in job: opt_type={'bfgs':'1','sd':'2','cg':'3','qm':'4','fire':'5'} print("OPT=(MAXITER=1000 OPTTYPE={})".format(opt_type[opttype]),file=f) + if "cell" in job: + opt_type={'bfgs':'1','sd':'2','cg':'3','qm':'4','fire':'5'} + print("OPT=(MAXITER=1000 OPTTYPE={} LATTICEOPT=TRUE)".format(opt_type[opttype]),file=f) if "freq" in job: print("FREQ=(THERMOTEMP={} THERMOPRES={} FREQTYPE={})".format(temp,pressure,freqtype),file=f) if ensembel == 'NVE': @@ -116,7 +119,7 @@ def dcdftb(job,method,geom,charge,mult,dispersion,para_path,temp,pressure,ensemb print('MD=(NVT={} NVTTYPE={} BATHTEMP={} ERRORTEMP=100)'.format(nvt,thermo,temp),file=f) print('MD=(DELTAT={} NSTEP={} PRINT={})'.format(deltat*1e-15,step,mdprint),file=f) if softpot == 'true': - print('MD=(SOFT=TRUE SOFTSHAPETYPE={} SOFTRANGE={} SOFTCENTERTYPE={})'.format(softtype,softrange,softcenter)) + print('MD=(SOFT=TRUE SOFTSHAPETYPE={} SOFTRANGE={} SOFTCENTERTYPE={})'.format(softtype,softrange,softcenter),file=f) if restart == 'true': print('MD=(READVELOCITY=TRUE)',file=f) if job == "mtd": diff --git a/lib/cmmde_dftb.py b/lib/cmmde_dftb.py index e5b3a69..4f63d2e 100644 --- a/lib/cmmde_dftb.py +++ b/lib/cmmde_dftb.py @@ -125,7 +125,7 @@ def vasp2gen(geom): c.append(ccell) next(f) next(f) - next(f) + # next(f) if 'direct' in next(f): coord_type.append("F") else: @@ -135,13 +135,19 @@ def vasp2gen(geom): x.append(arr[0]) y.append(arr[1]) z.append(arr[2]) - sym.append(arr[-1]) + sym.append(arr[3]) + with open('in.gen','w') as f: elements = [] print("{} {}".format(len(sym),coord_type[-1]),file=f) - for index,element in enumerate(sym): - if sym[index] != sym[index-1]: + if len(list(set(sym))) == 1: + for i in list(set(sym)): + elements.append(i) + else: + for index,element in enumerate(sym): + sym[index] != sym[index-1] elements.append(element) + for i in elements: print(i, end=' ',file=f) print("",file=f) @@ -149,12 +155,16 @@ def vasp2gen(geom): sindx = 0 sym_indx = [] for i,symbol in enumerate(sym): - if sym[i] != sym[i-1]: - sindx+=1 - sym_indx.append(sindx) + if len(set(sym)) == 1: + sindx=1 + sym_indx.append(sindx) else: - sindx+=0 - sym_indx.append(sindx) + if sym[i] != sym[i-1]: + sindx+=1 + sym_indx.append(sindx) + else: + sindx+=0 + sym_indx.append(sindx) for sym_indx,i,j,k in zip(sym_indx,x,y,z): print(indx,sym_indx,i,j,k,file=f) indx+=1 diff --git a/lib/cmmde_solution.py b/lib/cmmde_solution.py old mode 100644 new mode 100755 index 9471521..3858469 --- a/lib/cmmde_solution.py +++ b/lib/cmmde_solution.py @@ -26,7 +26,7 @@ parser.add_argument('-nnpt','--nnpt',type=int, default=50000, help='Jumlah step parser.add_argument('-nprod','--nprod',type=int, default=400000, help='Jumlah step pada saat production.') parser.add_argument('-dt','--dt',type=float, default=1, help='Step simulasi dinamika molekul yang dilakukan.') parser.add_argument('-comp','--compress',type=float, default=4.5e-6, help='Nilai kompresibilitas. Default=4.5e-6.') -parser.add_argument('--packmol', type=str, default='packmol') +parser.add_argument('--packmol', type=str, default='/Users/adit/opt/packmol/packmol') parser.add_argument('-l','--lapang',type=float, default=5, help='Ruang lapang untuk atom-atom bergerak di dalam kotak larutan (angstrom).') parser.add_argument('-gen','--generate_dftbinp',type=str,default='false',help='Apakah ingin mengkonversi ke dalam format koordinat xyz?') parser.add_argument('-prod','--production',type=str,default='None',help='Jenis production run yang ingin dilakukan. Pilihan: NPT (recommended), NVE, dan NVT.')