From b482cc2368902f44d19f5b943137e1fffd85caa9 Mon Sep 17 00:00:00 2001 From: Aditya Wibawa Sakti Date: Mon, 15 Aug 2022 00:48:02 +0700 Subject: [PATCH] mod gui --- .README.md.swp | Bin 0 -> 12288 bytes cmmde_gui/geom.xyz | 48 ++++++++++----------------------------------- cmmde_gui/gui.py | 30 +++++++++++++++++----------- 3 files changed, 29 insertions(+), 49 deletions(-) create mode 100644 .README.md.swp diff --git a/.README.md.swp b/.README.md.swp new file mode 100644 index 0000000000000000000000000000000000000000..8f07a8df5cc5962c7e42f2a50c521ced505bb63a GIT binary patch literal 12288 zcmeHN&5s;M6)*GUBoIJB;(&zoh$XzUnd#mSSep?a+1**=Wj(R+ZtNs0%T#yQOqZv- zs;Q5iok#?UGe{h{a0qwcj6`xkfddD`e-MdWxdB34P=3|(<#l3K%FU=p`faPL-h1_{ zU%h%YtEpt|&VHY+M(Yfp&olOyFaIa`@8vfxy!eR=jAzn?=JP(OE-UZEd1ma55HRjf z4)wr|xe@Vhzu()7Z|`mQ`g>8Cog1JrXcTA^_-G1vH|Sh__T|lu^|cV-((_-TFFg11 zM~l^XH3~EeGzv5dGzv5dGzv5dGzv5dJdp~x>H_;Qn15`>{`%~B;gRR;wRtoOGzv5d zGzv5dGzv5dGzv5dGzv5dGzv5dGzvU{3UK`D{-aMa_PbAkJbwS5|NsB?=NNkn_$}}> z@D%XZ&ocIFKmnV;zn*36_rTAAW8gL501%&HECbeoi@>{|X6$FcPk~o~SAe@f3%CgU z@fpV60e%6Dfh)ik@C@*`ry2VdV1adD4fr_l-cx7?-UKGVDKG|xzzv`Wd=YpK_~%8& z{tmncybJsp_yh18;7#C{z)yhJfi<8FJP&*c_&0R<2kxOcpK%+pT z!2f{)KL{Vj@F(FmXJ3!#dve4{s-aX=3iW^&T#dM*%IKltC8cGViO$f=Zg66SqK>85 zTN5Wz#g(kiylh6_Sj4`;M;?*7R6Aaig?LH3Yuc-9&lqjGbd0Ccv~iDK(qw&_(*Q=K z4Q0}Z)M+#6(&dN8Lio#z_+OiG$K5zlhLPyL2!ZcUnMScx*72f}_FGk#mXgB9-D3%1tX{vAIORIAIZL21Zoc%6j_j(xo{$?xa@8z2Rl}n6JhSHJif2RZV5G!yn?WYwKW~o_Z2bp zH{-;7o2{-M@KV|~tzV_>p|{Rk+F0Azpq2H_?%EpN-QQ_-S68RTkEN5AHtQ7Jt2Dp2 zvXE`Y^`XudTRG6mYGb7@3EYOFOt2V%9>=mS*|nx4-l$^+QFm)U7yPusTex*u%gGBm zOr=n%pq@Apg|4s#Tg;sMJZu7)Lg)5J$ur*gYK;yQYaOHHHc6es+eq9z>XodqXxoXp1=Ie+?kP#uuULavI_&&gI;I2SkE-f4kqNBTQ$)SUqWymN;4ANDokMbYTf~3o}Iu+?u!?4^#v)Uey(3 zdZ~Dx-VbyF1-PX#CLf+$@nZ5ic14>`r1iXz(-*EXLfLU06#i6LyDUc57tW$^(!dB2 z7czk^!5WiLWVJWgJ-n(4nbw2an$1}jr7lG33vTGERB|Vb#Lmlvl|vO#sBzng_HMey zj9rcB_+|*c!xK?VYZNMJ7%vGesHMYrEJrf#W8>ey#fPHBuE6Q^XlGf`PuLp$I%a`y&W;@t%q!dK z1^YA?Wi$?}!ck(Q2UVP<*}x@b7Jml?diX7&S_}u)aqs5t!PauDOsAtju}Y+ld};>~ z@;(km_qT9~)6?eKI2t?>N=w|E~p1^SBw4Vm4ar)aNE TQQA`{(r6XV23o22WQ)BI6K7wT literal 0 HcmV?d00001 diff --git a/cmmde_gui/geom.xyz b/cmmde_gui/geom.xyz index 8f9f55e..aadcad6 100644 --- a/cmmde_gui/geom.xyz +++ b/cmmde_gui/geom.xyz @@ -1,38 +1,10 @@ -Al12 O18 -1.0 -4.805028 0.000000 0.000000 --2.402514 4.161276 0.000000 -0.000000 0.000000 13.116254 -Al O -12 18 -direct -0.000000 0.000000 0.147904 Al -0.333333 0.666667 0.018763 Al -0.333333 0.666667 0.314571 Al -0.666667 0.333333 0.185429 Al -0.666667 0.333333 0.481237 Al -0.000000 0.000000 0.352096 Al -0.000000 0.000000 0.647904 Al -0.333333 0.666667 0.518763 Al -0.333333 0.666667 0.814571 Al -0.666667 0.333333 0.685429 Al -0.666667 0.333333 0.981237 Al -0.000000 0.000000 0.852096 Al -0.306146 0.000000 0.250000 O -0.666667 0.027187 0.083333 O -0.000000 0.306146 0.250000 O -0.693854 0.693854 0.250000 O -0.972813 0.639479 0.083333 O -0.360521 0.333333 0.083333 O -0.972813 0.333333 0.583333 O -0.333333 0.360521 0.416667 O -0.666667 0.639479 0.583333 O -0.360521 0.027187 0.583333 O -0.639479 0.972813 0.416667 O -0.027187 0.666667 0.416667 O -0.639479 0.666667 0.916667 O -0.000000 0.693854 0.750000 O -0.333333 0.972813 0.916667 O -0.027187 0.360521 0.916667 O -0.306146 0.306146 0.750000 O -0.693854 0.000000 0.750000 O +8 +Diisi judulpun tidak masalah +C -1.09158 0.31253 0.00000 +C 0.40641 0.34539 0.00000 +O 0.99388 1.41528 -0.00000 +O 1.11593 -0.80223 0.00000 +H -1.50826 1.34248 0.00000 +H -1.45092 -0.22036 0.90489 +H -1.45092 -0.22036 -0.90489 +H 0.67957 -1.66578 0.00000 diff --git a/cmmde_gui/gui.py b/cmmde_gui/gui.py index 630261f..45f66ec 100755 --- a/cmmde_gui/gui.py +++ b/cmmde_gui/gui.py @@ -29,7 +29,7 @@ def cmmde_gui(): # Terminal widget - TextArea= pn.widgets.TextAreaInput(value = "Computational Molecular and Material Design Environment\n Authors:\n Universitas Pertamina\n Institut Teknologi Sumatera\n Masyarakat Komputasi Indonesia\n\nSupported by:\n Konsorsium Pengembangan Sains Komputasi", + TextArea= pn.widgets.TextAreaInput(value = "Computational Molecular and Material Design Environment\n Authors:\n Universitas Pertamina\n Institut Teknologi Sumatera\n Masyarakat Komputasi Indonesia\n\nSupported by:\n Konsorsium Pengembangan Sains Komputasi\n", height = 500, disabled=True ) # CMMDE software options @@ -52,7 +52,7 @@ def cmmde_gui(): # File input (if you don't want to draw the structure) - FileInput = pn.widgets.FileInput(title='Input structure',accept='.xyz, .vasp, CONTCAR, POSCAR, .pdb') + FileInput = pn.widgets.FileInput(title='Input structure',accept='.xyz,.vasp,.pdb') def fileinput(event): if FileInput.value is not None: FileInput.save("geom.xyz") @@ -75,11 +75,13 @@ def cmmde_gui(): job_list = [job[i] for i in job_btn.value] jobs = ",".join(job_list) - if editor == JSMEEditor(value=" "): - geom = save(FileInput.filename) - + + if editor.value == "": + FileInput.save("geom.xyz") + geom = "geom.xyz" else: geom = editor.value + TextArea.value = TextArea.value + "\n" + "Mempersiapkan Struktur 3 Dimensi!" cmd = subprocess.run(["cmmde.py","-i","{}".format(geom),"-s","{}".format(software[software_btn.value]),"-j","{}".format(jobs),"-m","{}".format(method[method_btn.value]),"-c","{}".format(charge.value),"-mult","{}".format(mult.value)],capture_output=True,text=True) #terminal.subprocess.run("cmmde.py","-i{}".format(editor.value),"-s{}".format(software[software_btn.value]), "-j{}".format(jobs), "-m{}".format(method[method_btn.value])) @@ -169,10 +171,16 @@ def cmmde_gui(): layer_input = pn.widgets.TextInput(name="Layer",placeholder="Example: 2") slabbuilder_btn = pn.widgets.Button(name="Build it!",button_type="primary") Material_input = pn.widgets.TextInput(name="Material name") - + Material_upload = pn.widgets.FileInput(title='Input structure') + def materialinput(event): + if Material_upload.value is not None: + Material_upload.save("POSCAR") + Material_upload.param.watch(materialinput,'value') + # Generate material folder button materialdir_btn = pn.widgets.Button(name="Generate work directory",type="primary") - TextWarning = pn.widgets.StaticText() + + def materialgen(event): Folder = workdir + "/" + id_input.value + "/" + Material_input.value isExist = os.path.exists(Folder) @@ -185,9 +193,9 @@ def cmmde_gui(): materialdir_btn.on_click(materialgen) def slab_builder(event): - Folder = workdir + "/" + id_input.value + "/" + Molecule_input.value + Folder = workdir + "/" + id_input.value + "/" + Material_input.value os.chdir(Folder) - os.system("mv geom.xyz POSCAR") + # os.system("mv geom.xyz POSCAR") hkl = hkl_input.value size = size_input.value layer = layer_input.value @@ -257,8 +265,8 @@ def cmmde_gui(): return pn.template.MaterialTemplate( site="CMMDE-GUI", title="CMMDE Editor", - main=[editor, TextArea, pn.Tabs(xyzviewer)], - sidebar=[pn.Card(id_input,title="User Information",collapsed=True),pn.Card(Molecule_input,charge,mult,checkdir_btn,TextWarning,pn.Card(FileInput,title="Upload molecule",collapsed=True),title="Molecule Information",collapsed=True),pn.Card(Material_input, materialdir_btn, pn.Card(FileInput,title="Unit cell",collapsed=True),hkl_input,size_input,layer_input,pn.Row(slabbuilder_btn,visual_btn),pn.Row(download_xyz,download_slab),title="Surface Builder",collapsed=True),pn.Card(pn.Card(software_btn,job_btn,method_btn,pn.Row(Run_btn,Progress_btn),pn.Row(Checkcalc_btn,visual_btn),title="General calculation",collapsed=True),title="Main Calculation",collapsed=True),pn.Card(post_software_btn,post_btn,post_method_btn,pn.Row(runpost_btn,Progress_btn),pn.Row(Checkcalc_btn,visual_btn),title="Post-Calculation",collapsed=True)], + main=[TextArea, editor, xyzviewer], + sidebar=[pn.Card(id_input,title="User Information",collapsed=True),pn.Card(Molecule_input,charge,mult,checkdir_btn,TextWarning,pn.Card(FileInput,title="Upload molecule",collapsed=True),title="Molecule Information",collapsed=True),pn.Card(Material_input, materialdir_btn,TextWarning, pn.Card(FileInput,title="Unit cell",collapsed=True),hkl_input,size_input,layer_input,pn.Row(slabbuilder_btn,visual_btn),pn.Row(download_xyz,download_slab),title="Surface Builder",collapsed=True),pn.Card(software_btn,job_btn,method_btn,pn.Row(Run_btn,Progress_btn),pn.Row(Checkcalc_btn,visual_btn),title="Main Calculation",collapsed=True),pn.Card(post_software_btn,post_btn,post_method_btn,pn.Row(runpost_btn,Progress_btn),pn.Row(Checkcalc_btn,visual_btn),title="Post-Calculation",collapsed=True)], header_background=accent, accent_base_color=accent )