Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions src/aiidalab_qe/plugins/pdos/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class PdosConfigurationSettingsModel(ConfigurationSettingsModel, HasInputStructu

protocol = tl.Unicode(allow_none=True)

kpoints_distance = tl.Float(0.1)
nscf_kpoints_distance = tl.Float(0.1)
mesh_grid = tl.Unicode("")
use_pdos_degauss = tl.Bool(False)
pdos_degauss = tl.Float(0.005)
Expand All @@ -36,7 +36,7 @@ def update(self, specific=""):

def get_model_state(self):
return {
"nscf_kpoints_distance": self.kpoints_distance,
"nscf_kpoints_distance": self.nscf_kpoints_distance,
"use_pdos_degauss": self.use_pdos_degauss,
"pdos_degauss": self.pdos_degauss,
"energy_grid_step": self.energy_grid_step,
Expand All @@ -45,15 +45,15 @@ def get_model_state(self):
def set_model_state(self, parameters: dict):
self.nscf_kpoints_distance = parameters.get(
"nscf_kpoints_distance",
self.traits()["kpoints_distance"].default_value,
self.traits()["nscf_kpoints_distance"].default_value,
)
self.use_pdos_degauss = parameters.get("use_pdos_degauss", False)
self.pdos_degauss = parameters.get("pdos_degauss", 0.005)
self.energy_grid_step = parameters.get("energy_grid_step", 0.01)

def reset(self):
with self.hold_trait_notifications():
self.kpoints_distance = self._get_default("kpoints_distance")
self.nscf_kpoints_distance = self._get_default("nscf_kpoints_distance")
self.use_pdos_degauss = self._get_default("use_pdos_degauss")
self.pdos_degauss = self._get_default("pdos_degauss")
self.energy_grid_step = self._get_default("energy_grid_step")
Expand All @@ -64,10 +64,10 @@ def _get_default(self, trait):
def _update_kpoints_mesh(self, _=None):
if not self.has_structure:
mesh_grid = ""
elif self.kpoints_distance > 0:
elif self.nscf_kpoints_distance > 0:
mesh = create_kpoints_from_distance.process_class._func(
self.input_structure,
orm.Float(self.kpoints_distance),
orm.Float(self.nscf_kpoints_distance),
orm.Bool(False),
)
mesh_grid = f"Mesh {mesh.get_kpoints_mesh()[0]!s}"
Expand All @@ -78,9 +78,9 @@ def _update_kpoints_mesh(self, _=None):

def _update_kpoints_distance(self, parameters):
if self.has_pbc:
kpoints_distance = parameters["nscf"]["kpoints_distance"]
nscf_kpoints_distance = parameters["nscf"]["kpoints_distance"]
else:
kpoints_distance = 100.0
nscf_kpoints_distance = 100.0
self.use_pdos_degauss = True
self._defaults["kpoints_distance"] = kpoints_distance
self.kpoints_distance = self._defaults["kpoints_distance"]
self._defaults["nscf_kpoints_distance"] = nscf_kpoints_distance
self.nscf_kpoints_distance = self._defaults["nscf_kpoints_distance"]
8 changes: 4 additions & 4 deletions src/aiidalab_qe/plugins/pdos/setting.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ def __init__(self, model: PdosConfigurationSettingsModel, **kwargs):
"protocol",
)
self._model.observe(
self._on_kpoints_distance_change,
"kpoints_distance",
self._on_nscf_kpoints_distance_change,
"nscf_kpoints_distance",
)

def render(self):
Expand All @@ -40,7 +40,7 @@ def render(self):
style={"description_width": "initial"},
)
ipw.link(
(self._model, "kpoints_distance"),
(self._model, "nscf_kpoints_distance"),
(self.nscf_kpoints_distance, "value"),
)
ipw.dlink(
Expand Down Expand Up @@ -147,5 +147,5 @@ def _on_input_structure_change(self, _):
def _on_protocol_change(self, _):
self.refresh(specific="protocol")

def _on_kpoints_distance_change(self, _):
def _on_nscf_kpoints_distance_change(self, _):
self.refresh(specific="mesh")
Loading