diff --git a/kadmos/cmdows/schemas/0.9/cmdows.xml b/kadmos/cmdows/schemas/0.9/cmdows.xml index 0fb23773e294d9846d0a821061c7c55c39e540f9..43c10c198c43517be4a92d660d9f7addcecc43d6 100644 --- a/kadmos/cmdows/schemas/0.9/cmdows.xml +++ b/kadmos/cmdows/schemas/0.9/cmdows.xml @@ -857,12 +857,15 @@ <!--Optional:--> <settings> <package>string</package> - <maximumIterations>1.5E2</maximumIterations> <algorithm>string</algorithm> - <applyScaling>false</applyScaling> + <maximumIterations>1.5E2</maximumIterations> + <!--Optional:--> <maximumFunctionEvaluations>1.5E2</maximumFunctionEvaluations> - <constraintTolerance>1.5E2</constraintTolerance> <convergenceTolerance>1.5E2</convergenceTolerance> + <!--Optional:--> + <constraintTolerance>1.5E2</constraintTolerance> + <!--Optional:--> + <applyScaling>false</applyScaling> </settings> <!--Optional:--> <designVariables> diff --git a/kadmos/cmdows/schemas/0.9/cmdows.xsd b/kadmos/cmdows/schemas/0.9/cmdows.xsd index 1c2f0616f829aef285b214382185a61576b4ca03..4f4e9945dde03b02dc77fb5e8ddb265b215c4686 100644 --- a/kadmos/cmdows/schemas/0.9/cmdows.xsd +++ b/kadmos/cmdows/schemas/0.9/cmdows.xsd @@ -1365,10 +1365,10 @@ <xs:element name="package" type="xs:string"/> <xs:element name="algorithm" type="xs:string"/> <xs:element name="maximumIterations" type="xs:float"/> - <xs:element name="maximumFunctionEvaluations" type="xs:float"/> + <xs:element name="maximumFunctionEvaluations" type="xs:float" minOccurs="0"/> <xs:element name="convergenceTolerance" type="xs:float"/> - <xs:element name="constraintTolerance" type="xs:float"/> - <xs:element name="applyScaling" type="xs:boolean"/> + <xs:element name="constraintTolerance" type="xs:float" minOccurs="0"/> + <xs:element name="applyScaling" type="xs:boolean" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> diff --git a/kadmos/graph/graph_data.py b/kadmos/graph/graph_data.py index baace11a4aef44e067e20923a618ec279446bb14..0c12bf06f3aea339c55d08cf172ff792d7bee8d5 100644 --- a/kadmos/graph/graph_data.py +++ b/kadmos/graph/graph_data.py @@ -4860,20 +4860,23 @@ class MdaoDataGraph(DataGraph, MdaoMixin): if 'settings' not in self.nodes[cmdows_uid] or self.nodes[cmdows_uid]['settings'] is None: self.nodes[cmdows_uid]['settings'] = {} if role == 'converger': - setting_options = {'linear_solver': 'linearSolver', - 'nonlinear_solver': 'nonlinearSolver'} - solver_settings_options = {'method': 'method', - 'last_iterations_to_consider': 'lastIterationsToConsider', - 'maximum_iterations': 'maximumIterations', - 'convergence_tolerance_relative': 'convergenceToleranceRelative', - 'convergence_tolerance_absolute': 'convergenceToleranceAbsolute'} + setting_options = OrderedDict([('linear_solver', 'linearSolver'), + ('nonlinear_solver', 'nonlinearSolver')]) + solver_settings_options = \ + OrderedDict([('method', 'method'), + ('last_iterations_to_consider', 'lastIterationsToConsider'), + ('maximum_iterations', 'maximumIterations'), + ('convergence_tolerance_relative', 'convergenceToleranceRelative'), + ('convergence_tolerance_absolute', 'convergenceToleranceAbsolute')]) else: - setting_options = {'maximum_iterations': 'maximumIterations', - 'algorithm': 'algorithm', - 'apply_scaling': 'applyScaling', - 'maximum_function_evaluations': 'maximumFunctionEvaluations', - 'constraint_tolerance': 'constraintTolerance', - 'convergence_tolerance': 'convergenceTolerance'} + setting_options = \ + OrderedDict([('package', 'package'), + ('algorithm', 'algorithm'), + ('maximum_iterations', 'maximumIterations'), + ('apply_scaling', 'applyScaling'), + ('maximum_function_evaluations', 'maximumFunctionEvaluations'), + ('constraint_tolerance', 'constraintTolerance'), + ('convergence_tolerance', 'convergenceTolerance')]) for setting_option in setting_options: if setting_option == 'apply_scaling': bool_options = {'true': True, 'false': False}