From 8cd16c40eb284f5cd968c9fc306573d79510d676 Mon Sep 17 00:00:00 2001 From: Stefano Borini <sborini@enthought.com> Date: Fri, 21 Jul 2017 17:22:01 +0100 Subject: [PATCH] Dakota communicator now handles parameters with names --- .../dummy_mco/dakota/dakota_communicator.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/force_bdss/core_plugins/dummy_mco/dakota/dakota_communicator.py b/force_bdss/core_plugins/dummy_mco/dakota/dakota_communicator.py index 37aa364..ae0cb1f 100644 --- a/force_bdss/core_plugins/dummy_mco/dakota/dakota_communicator.py +++ b/force_bdss/core_plugins/dummy_mco/dakota/dakota_communicator.py @@ -9,13 +9,20 @@ class DakotaCommunicator(BaseMCOCommunicator): data = sys.stdin.read() values = list(map(float, data.split())) - value_types = self.model.value_types - if len(values) != len(value_types): - raise ValueError("Length of provided data differs from the number " - "of expected types. {} {}".format(values, - value_types)) + parameters = self.model.parameters + + if len(values) != len(parameters): + raise ValueError( + "The passed information length is {}, " + "but the model specifies {} values.".format( + len(values), len(parameters) + )) + + value_types = [p.value_type for p in parameters] + value_names = [p.name for p in parameters] return DataSourceParameters( + value_names=value_names, value_types=value_types, values=numpy.array(values) ) -- GitLab