From 4192c3fb9cd985ac3210c9b1c4a7d265e5c5746a Mon Sep 17 00:00:00 2001 From: David Antognini Silva Date: Mon, 17 Jun 2024 12:45:54 +0000 Subject: [PATCH] adding kkr_params_overzrite input in kkr_scf_wc --- aiida_kkr/workflows/kkr_scf.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/aiida_kkr/workflows/kkr_scf.py b/aiida_kkr/workflows/kkr_scf.py index 602a4c47..b0334b78 100644 --- a/aiida_kkr/workflows/kkr_scf.py +++ b/aiida_kkr/workflows/kkr_scf.py @@ -33,8 +33,8 @@ __copyright__ = (u'Copyright (c), 2017, Forschungszentrum Jülich GmbH, ' 'IAS-1/PGI-1, Germany. All rights reserved.') __license__ = 'MIT license, see LICENSE.txt file' -__version__ = '0.11.1' -__contributors__ = (u'Jens Broeder', u'Philipp Rüßmann') +__version__ = '0.11.2' +__contributors__ = (u'Jens Broeder', u'Philipp Rüßmann', u'David Antognini Silva') eV2Ry = 1.0 / get_Ry2eV() @@ -263,6 +263,12 @@ def define(cls, spec): impurities. See KkrCalculation for details. """ ) + spec.input( + 'params_kkr_overwrite', + valid_type=orm.Dict, + required=False, + help='Set some input parameters of the KKR calculation.' + ) # define output nodes spec.output( @@ -1218,7 +1224,14 @@ def run_kkr(self): description = f'KKR calculation of step {self.ctx.loop_count}, using mixing scheme {self.ctx.last_mixing_scheme}' code = self.inputs.kkr remote = self.ctx.last_remote - params = self.ctx.last_params + params = self.ctx.last_params.get_dict() + + # overwrite some parameters of the KKR calculation by hand before setting mandatory keys + if 'params_kkr_overwrite' in self.inputs: + for key, val in self.inputs.params_kkr_overwrite.get_dict().items(): + params[key] = val + self.report(f'INFO: overwriting KKR parameter: {key} with {val} from params_kkr_overwrite input node') + options = { 'max_wallclock_seconds': self.ctx.max_wallclock_seconds, 'resources': self.ctx.resources, @@ -1233,7 +1246,7 @@ def run_kkr(self): options, label, description, - parameters=params, + parameters=orm.Dict(params), serial=(not self.ctx.withmpi), )