"
temp += end_line()
return temp
def WSL_distro():
return labeled_combo("NoSpherA2_WSL_distro@refine",
"WSL Distro",
"spy.NoSpherA2.get_distro_list()",
"spy.GetParam('snum.NoSpherA2.distro')",
"spy.SetParam('snum.NoSpherA2.distro', html.GetValue('~name~'))",
width_label=15, width_combo=30)
def make_hybrid_GUI(softwares_list_string):
parts = OV.ListParts()
if parts != None:
parts = list(parts)
if len(parts) <= 1:
return begin_new_line() + "Hybrid is not possible with less than two parts!" + end_line()
t = begin_new_line() + \
cpu_combo() + \
memory_text() + \
iterative_checkbox()
full_har = OV.GetParam('snum.NoSpherA2.full_HAR')
if full_har == True:
t += cycles_spin()
else:
t += update_tsc_button()
t += end_line() + begin_new_line() + integration_accuracy_combo() + h_aniso_checkbox() + no_afix_checkbox() + end_line()
t += end_line() + begin_new_line("NoSpherA2_Options_3") + integration_accuracy_combo() + h_aniso_checkbox() + no_afix_checkbox() + end_line() + partitioning_scheme_line()
for i in parts:
if i == 0:
continue
t += begin_new_line() + "
" + "Part %d
"%i
softwares_list = "Please Select" + str(softwares_list_string).replace("Hybrid;","")
t += labeled_combo(
"NoSpherA2_software_Part%d@refine"%(i+1),
"Software",
softwares_list,
"spy.GetParam(\'snum.NoSpherA2.Hybrid.software_Part%d\')"%i,
"spy.SetParam(\'snum.NoSpherA2.Hybrid.software_Part%d\',html.GetValue(\'~name~\'))>>html.Update()"%i)
selected_software = OV.GetParam('snum.NoSpherA2.Hybrid.software_Part%d'%i)
t += end_line() + begin_new_line("NoSpherA2_Options_2")
if selected_software != " " + str(OV.GetParam('user.NoSpherA2.discamb_exe')):
if selected_software != "ELMOdb":
t += labeled_combo(
"NoSpherA2_basis_Part%d@refine"%i,
"Basis Set",
"spy.NoSpherA2.getBasisListStr()",
"spy.GetParam(\'snum.NoSpherA2.Hybrid.basis_name_Part%d\')"%i,
"spy.SetParam(\'snum.NoSpherA2.Hybrid.basis_name_Part%d\',html.GetValue(\'~name~\'))"%i,
13, 20)
t += labeled_combo(
"NoSpherA2_method_Part%d@refine"%i,
"Method",
"spy.NoSpherA2.get_functional_list(spy.GetParam(\'snum.NoSpherA2.Hybrid.software_Part%d\'))"%i,
"spy.GetParam(\'snum.NoSpherA2.Hybrid.method_Part%d\')"%i,
"spy.SetParam(\'snum.NoSpherA2.Hybrid.method_Part%d\',html.GetValue(\'~name~\'))"%i,
11, 20)
t += labeled_checkbox("NoSpherA2_ORCA_Relativistics_PART%d@refine"%i,
"Relativitics",
"spy.GetParam(\'snum.NoSpherA2.Hybrid.Relativistic_Part%d\')"%i,
"spy.SetParam(\'snum.NoSpherA2.Hybrid.Relativistic_Part%d\',\'True\')"%i,
"spy.SetParam(\'snum.NoSpherA2.Hybrid.Relativistic_Part%d\',\'False\')"%i)
t += end_line() + \
begin_new_line() + \
labeled_spin("SET_CHARGE_PART%d@refine"%i,
"Charge",
"spy.GetParam(\'snum.NoSpherA2.Hybrid.charge_Part%d\')"%i,
"spy.SetParam(\'snum.NoSpherA2.Hybrid.charge_Part%d\',html.GetValue(\'~name~\'))"%i,
width_label=13, width_spinbox=8, min_value=-1000, max_value=1000) + \
labeled_spin("SET_MULTIPLICITY_PART%d@refine"%i,
"Multiplicity",
"spy.GetParam(\'snum.NoSpherA2.Hybrid.multiplicity_Part%d\')"%i,
"spy.SetParam(\'snum.NoSpherA2.Hybrid.multiplicity_Part%d\',html.GetValue(\'~name~\'))"%i,
width_label=16, width_spinbox=8, min_value=1, max_value=200)
if "ORCA" in selected_software:
t += end_line() + begin_new_line() + \
labeled_combo("NoSpherA2_ORCA_SCF_Conv_Part%d@refine"%i,
"SCF Thresh.",
"\'NoSpherA2SCF;SloppySCF;LooseSCF;NormalSCF;StrongSCF;TightSCF;VeryTightSCF;ExtremeSCF\'",
"spy.GetParam(\'snum.NoSpherA2.Hybrid.ORCA_SCF_Conv_Part%d\')"%i,
"spy.SetParam(\'snum.NoSpherA2.Hybrid.ORCA_SCF_Conv_Part%d', html.GetValue(\'~name~\'))"%i,
17, 20)
t += labeled_combo("NoSpherA2_ORCA_SCF_Strategy_Part%d@refine"%i,
"SCF Strategy",
"\'EasyConv;NormalConv;SlowConv;VerySlowConv\'",
"spy.GetParam(\'snum.NoSpherA2.Hybrid.ORCA_SCF_Strategy_Part%d\')"%i,
"spy.SetParam(\'snum.NoSpherA2.Hybrid.ORCA_SCF_Strategy_Part%d\', html.GetValue(\'~name~\'))"%i,
17, 20)
t += labeled_combo("NoSpherA2_ORCA_Solvation@refine",
"Solvation",
"\'Vacuum;Water;Acetone;Acetonitrile;Ammonia;Benzene;CCl4;CH2CL2;Chloroform;Cyclohexane;DMF;DMSO;Ethanol;Hexane;Methanol;Octanol;Pyridine;THF;Toluene\'",
"spy.GetParam(\'snum.NoSpherA2.ORCA_Solvation\')",
"spy.SetParam(\'snum.NoSpherA2.ORCA_Solvation\', html.GetValue(\'~name~\'))",
13, 20)
elif "pySCF" in selected_software:
t += end_line() + begin_new_line() + \
labeled_combo("NoSpherA2_Hybrid_pySCF_Damping_Part%d@refine"%i,
"Damping",
"\'0.6;0.7;0.85;0.93\'",
"spy.GetParam(\'snum.NoSpherA2.Hybrid.pySCF_Damping_Part%d\')"%i,
"spy.SetParam(\'snum.NoSpherA2.Hybrid.pySCF_Damping_Part%d\', html.GetValue(\'~name~\'))"%i,
10, 10) + \
labeled_combo("NoSpherA2_pyscf_Solvation@refine",
"Solvation"
"\'Vacuum;Water; Acetonitrile;Methanol;Ethanol;IsoQuinoline;Quinoline;Chloroform;DiethylEther;Dichloromethane;DiChloroEthane;CarbonTetraChloride;Benzene;Toluene;ChloroBenzene;NitroMethane;Heptane;CycloHexane;Aniline;Acetone;TetraHydroFuran;DiMethylSulfoxide;Argon;Krypton;Xenon;n-Octanol;1,1,1-TriChloroEthane;1,1,2-TriChloroEthane;1,2,4-TriMethylBenzene;1,2-DiBromoEthane;1,2-EthaneDiol;1,4-Dioxane;1-Bromo-2-MethylPropane;1-BromoOctane;1-BromoPentane;1-BromoPropane;1-Butanol;1-ChloroHexane;1-ChloroPentane;1-ChloroPropane;1-Decanol;1-FluoroOctane;1-Heptanol;1-Hexanol;1-Hexene;1-Hexyne;1-IodoButane;1-IodoHexaDecane;1-IodoPentane;1-IodoPropane;1-NitroPropane;1-Nonanol;1-Pentanol;1-Pentene;1-Propanol;2,2,2-TriFluoroEthanol;2,2,4-TriMethylPentane;2,4-DiMethylPentane;2,4-DiMethylPyridine;2,6-DiMethylPyridine;2-BromoPropane;2-Butanol;2-ChloroButane;2-Heptanone;2-Hexanone;2-MethoxyEthanol;2-Methyl-1-Propanol;2-Methyl-2-Propanol;2-MethylPentane;2-MethylPyridine;2-NitroPropane;2-Octanone;2-Pentanone;2-Propanol;2-Propen-1-ol;3-MethylPyridine;3-Pentanone;4-Heptanone;4-Methyl-2-Pentanone;4-MethylPyridine;5-Nonanone;AceticAcid;AcetoPhenone;a-ChloroToluene;Anisole;Benzaldehyde;BenzoNitrile;BenzylAlcohol;BromoBenzene;BromoEthane;Bromoform;Butanal;ButanoicAcid;Butanone;ButanoNitrile;ButylAmine;ButylEthanoate;CarbonDiSulfide;Cis-1,2-DiMethylCycloHexane;Cis-Decalin;CycloHexanone;CycloPentane;CycloPentanol;CycloPentanone;Decalin-mixture;DiBromomEthane;DiButylEther;DiEthylAmine;DiEthylSulfide;DiIodoMethane;DiIsoPropylEther;DiMethylDiSulfide;DiPhenylEther;DiPropylAmine;e-1,2-DiChloroEthene;e-2-Pentene;EthaneThiol;EthylBenzene;EthylEthanoate;EthylMethanoate;EthylPhenylEther;FluoroBenzene;Formamide;FormicAcid;HexanoicAcid;IodoBenzene;IodoEthane;IodoMethane;IsoPropylBenzene;m-Cresol;Mesitylene;MethylBenzoate;MethylButanoate;MethylCycloHexane;MethylEthanoate;MethylMethanoate;MethylPropanoate;m-Xylene;n-ButylBenzene;n-Decane;n-Dodecane;n-Hexadecane;n-Hexane;NitroBenzene;NitroEthane;n-MethylAniline;n-MethylFormamide-mixture;n,n-DiMethylAcetamide;n,n-DiMethylFormamide;n-Nonane;n-Octane;n-Pentadecane;n-Pentane;n-Undecane;o-ChloroToluene;o-Cresol;o-DiChloroBenzene;o-NitroToluene;o-Xylene;Pentanal;PentanoicAcid;PentylAmine;PentylEthanoate;PerFluoroBenzene;p-IsoPropylToluene;Propanal;PropanoicAcid;PropanoNitrile;PropylAmine;PropylEthanoate;p-Xylene;Pyridine;sec-ButylBenzene;tert-ButylBenzene;TetraChloroEthene;TetraHydroThiophene-s,s-dioxide;Tetralin;Thiophene;Thiophenol;trans-Decalin;TriButylPhosphate;TriChloroEthene;TriEthylAmine;Xylene-mixture;z-1,2-DiChloroEthene\'",
"spy.GetParam(\'snum.NoSpherA2.ORCA_Solvation\')",
"spy.SetParam(\'snum.NoSpherA2.ORCA_Solvation\', html.GetValue(\'~name~\'))",
13, 30)
else:
#HAVE TO FINISCH ELMO LATER
t += labeled_combo(
"NoSpherA2_basis_Part%d@refine"%i,
"Basis Set",
"'6-31G;6-31G**;6-311G;6-311G**;cc-pVDZ;extrabasis'",
"spy.GetParam(\'snum.NoSpherA2.Hybrid.basis_name_Part%d\')"%i,
"spy.SetParam(\'snum.NoSpherA2.Hybrid.basis_name_Part%d\',html.GetValue(\'~name~\'))"%i,
13, 20)
t += end_line()
else:
t += "
So far no further options for discambMATT
" + end_line()
return t
def make_xtb_GUI():
# Method, CPUs, Memory
t = begin_new_line() + method_combo() + cpu_combo() + memory_text() + end_line()
# Charge, Multiplicity, iterative and Update/Max cycles
t += begin_new_line("NoSpherA2_Options_2") + \
charge_spin() + \
multiplicity_spin() + \
iterative_checkbox()
full_har = OV.GetParam('snum.NoSpherA2.full_HAR')
if full_har == False:
t += update_tsc_button()
else:
t += cycles_spin()
t += end_line()
# Integration Accuracy, H Aniso, No Afix
t += begin_new_line("NoSpherA2_Options_3") + \
integration_accuracy_combo() + \
labeled_text("NoSpherA2_xtb_temp@refine",
"Temp. (K)",
"spy.GetParam('snum.NoSpherA2.temperature')",
"spy.SetParam('snum.NoSpherA2.temperature', html.GetValue('~name~'))",
width_label=15, width_textbox=9) + \
h_aniso_checkbox() + \
no_afix_checkbox() + \
end_line()
t += partitioning_scheme_line()
return t
def make_ptb_GUI():
# CPUs, Memory, Purification
t = begin_new_line() + cpu_combo() + memory_text() + \
labeled_checkbox("NoSpherA2_purification@refine",
"Purify",
"spy.GetParam('snum.NoSpherA2.PTB_use_purify')",
"spy.SetParam('snum.NoSpherA2.PTB_use_purify', True) >> html.Update()",
"spy.SetParam('snum.NoSpherA2.PTB_use_purify', False) >> html.Update()",
width=2) +\
end_line()
# Charge, Multiplicity, iterative and Update/Max cycles
t += begin_new_line("NoSpherA2_Options_2") + charge_spin() + multiplicity_spin() + iterative_checkbox()
iterative = OV.GetParam('snum.NoSpherA2.full_HAR')
if iterative == False:
t += update_tsc_button()
else:
t += cycles_spin()
t += end_line()
# Integration Accuracy, H Aniso, No Afix
t += begin_new_line("NoSpherA2_Options_3") + \
integration_accuracy_combo() + \
h_aniso_checkbox() + \
no_afix_checkbox() + \
end_line()
if is_disordered():
t += disorder_groups_text()
t += partitioning_scheme_line()
return t
def make_SALTED_GUI():
#Model, add, delete buttons & CPUs
t = begin_new_line() + \
labeled_combo("NoSpherA2_SALTED_model@refine",
"Model",
"spy.NoSpherA2.get_SALTED_model_locations()",
"spy.GetParam('snum.NoSpherA2.selected_salted_model')",
"spy.SetParam('snum.NoSpherA2.selected_salted_model', html.GetValue('~name~'))",
width_label=10, width_combo=50) + \
f"