From dbc138a6521645534e676dc5062f7a1cd973bdf7 Mon Sep 17 00:00:00 2001 From: Niklas Leimeroth Date: Fri, 26 Feb 2021 10:51:17 +0100 Subject: [PATCH] fix exp A --- .../atomistic/atomicrex/function_factory.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pyiron_contrib/atomistic/atomicrex/function_factory.py b/pyiron_contrib/atomistic/atomicrex/function_factory.py index bf8949a95..d8edf5b4b 100644 --- a/pyiron_contrib/atomistic/atomicrex/function_factory.py +++ b/pyiron_contrib/atomistic/atomicrex/function_factory.py @@ -76,7 +76,13 @@ def _to_xml_element(self, name): for param in self.parameters.values(): p = ET.SubElement(root, f"{param.param}") p.text = f"{param.start_val}" - root.append(self.parameters.fit_dofs_to_xml_element()) + + # This if condition is to prevent an error with the expA screening function + # It is a bit hacky and if another function with only 1 parameter is added + # it probably has to be rewritten + if len(self.parameters.values()) > 1: + root.append(self.parameters.fit_dofs_to_xml_element()) + if not self.is_screening_function: if self.screening is not None: root.append(self.screening._to_xml_element()) @@ -354,7 +360,7 @@ def _to_xml_element(self): p = ET.SubElement(root, "param") p.set("name", f"{param.param}") p.text = f"{param.start_val}" - + root.append(self.parameters.fit_dofs_to_xml_element()) if not self.is_screening_function: @@ -446,14 +452,13 @@ def add_parameter(self, param, start_val, enabled=True, reset=False, min_val=Non def fit_dofs_to_xml_element(self): """Internal function Returns fit dofs as atomicrex xml element. - """ + """ fit_dof = ET.Element("fit-dof") for param in self.values(): if param.fitable: fit_dof.append(param._to_xml_element()) return fit_dof - class PolyCoeff(FunctionParameter): """ Function parameter, but for polynomial interpolation.