diff --git a/src/aiida_koopmans/gui/app/setting.py b/src/aiida_koopmans/gui/app/setting.py
index 274427d..ff77c80 100644
--- a/src/aiida_koopmans/gui/app/setting.py
+++ b/src/aiida_koopmans/gui/app/setting.py
@@ -23,17 +23,67 @@ def __init__(self, **kwargs):
target="_blank">aiida-koopmans plugin, co-developed by Miki Bonacci, Julian Geiger and Edward Linscott (Paul Scherrer Institut, Switzerland).
- For now, we allow one way to provide Koopmans settings, i.e. through the upload button below. You should pass
- the same file that is needed to run a standard Koopmans@AiiDA simulation, i.e. the codes should be set there,
- and not in step 3 of the app (this is just a temporary limitation).
+ For now, we allow two ways to provide Koopmans settings:
+ (1) setting the following options
- Only DFPT workflow is available.
-
+ (2) through the upload button below.
+
+ For option (2), you should pass the same file that is needed to run a standard Koopmans simulation.
+
+
+ Only "DFPT" method and "KI" functional are currently available. Norm-conserving pseudopotentials must be used.
""",
layout=ipw.Layout(width="400"),
)
+ # Method button
+ self.method = ipw.RadioButtons(
+ options=['DFPT','deltaSCF'],
+ value='DFPT',
+ )
+ method_box = ipw.VBox(
+ children = [ipw.HTML('Method'),self.method]
+ )
+
+ # Functional button
+ self.functional = ipw.RadioButtons(
+ options=['ki','kipz'],
+ value='ki',
+ )
+ functional_box = ipw.VBox(
+ children = [ipw.HTML('Functional'),self.functional]
+ )
+
+ # Init orbitals dropdown
+ self.init_orbitals_dropdown = ipw.Dropdown(
+ options=['mlwfs','kohn-sham'],
+ #layout=ipw.Layout(width="200px"),
+ value='mlwfs',
+ )
+ init_orbitals_box = ipw.VBox(
+ children = [ipw.HTML('Initial orbitals'),self.init_orbitals_dropdown]
+ )
+
+ # Compute alpha checkbox
+ self.compute_alpha = ipw.Checkbox(
+ description='compute screening alpha (or provide it in the json file)',
+ layout={'width':'2000px'},
+ )
+ compute_alpha_box = ipw.VBox(
+ children = [self.compute_alpha]
+ )
+
+ # Full box of the above Koopmans inputs.
+ mandatory_inputs_box = ipw.HBox(
+ children=[
+ method_box,
+ functional_box,
+ init_orbitals_box,
+ compute_alpha_box,
+ ],
+ )
+
# Upload buttons
self.upload_widget = ipw.FileUpload(
description="Upload Koopmans json file",
@@ -50,10 +100,26 @@ def __init__(self, **kwargs):
layout=ipw.Layout(width="auto"),
)
self.reset_uploads.observe(self._on_reset_uploads_button_clicked, "value")
+ upload_widget_box = ipw.HBox(
+ children=[
+ self.upload_widget,
+ self.reset_uploads
+ ]
+ )
self.children = [
self.settings_help,
- ipw.HBox(children=[self.upload_widget,self.reset_uploads]),
+ ipw.VBox(
+ children=[
+ mandatory_inputs_box,
+ ipw.HTML("""
+ Upload your Koopmans json file to define/override inputs:
+ it is also possible to upload a specific json file with all (or part) of the needed settings.
+ These will override the current options and, if there, also parameters of the simulations to be submitted.
+ """),
+ upload_widget_box,
+ ],
+ )
]
super().__init__(**kwargs)