From f1058a721092f61d45350b1a2338c98add0c025e Mon Sep 17 00:00:00 2001 From: Mohamad Nasreddine Date: Thu, 23 Jul 2026 21:23:40 +0300 Subject: [PATCH 1/4] Fix stationary_parts read path for mesh_deformation in zoneIO.cpp The mesh_deformation block at zoneIO.cpp:161-164 was duplicated from the domain_motion block above it. The guard was updated to read mesh_deformation > stationary_parts but the value read on line 164 was left pointing at domain_motion > stationary_parts. --- src/mesh/zone/zoneIO.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesh/zone/zoneIO.cpp b/src/mesh/zone/zoneIO.cpp index 12f1ebf..4537031 100644 --- a/src/mesh/zone/zoneIO.cpp +++ b/src/mesh/zone/zoneIO.cpp @@ -161,7 +161,7 @@ void zone::read(const YAML::Node& domain) domain["domain_models"]["mesh_deformation"]["stationary_parts"]) { std::vector stationaryPartNames = - domain["domain_models"]["domain_motion"]["stationary_parts"] + domain["domain_models"]["mesh_deformation"]["stationary_parts"] .template as>(); for (auto stationaryPartName : stationaryPartNames) From ced2ed083700583960bc8ffc770b62329b3d5045 Mon Sep 17 00:00:00 2001 From: Mohamad Nasreddine Date: Thu, 23 Jul 2026 21:30:29 +0300 Subject: [PATCH 2/4] Validate search_method at parse time in interfaceIO.cpp An invalid search_method was accepted by the parser and only detected later in nonconformalDataTransfer::create_transfer, which prints the bare string "error" to stdout and calls exit(1) with no reference to the offending key or value. Only stk_kdtree is supported: dataTransfer.cpp and surfaceComparator.cpp both hardcode stk::search::KDTREE, and surfaceComparator.cpp already rejects anything else via errorMsg. This makes interfaceIO.cpp consistent with that behaviour and reports the error while the input file is still in scope. The downstream exit(1) is left in place as a backstop. --- src/mesh/interface/interfaceIO.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/mesh/interface/interfaceIO.cpp b/src/mesh/interface/interfaceIO.cpp index 6d1c544..6ed219f 100644 --- a/src/mesh/interface/interfaceIO.cpp +++ b/src/mesh/interface/interfaceIO.cpp @@ -190,6 +190,12 @@ void interface::read(const YAML::Node& inputNode) { searchMethodName = inputNode["search_method"].template as(); + if (searchMethodName != "stk_kdtree") + { + errorMsg("invalid search_method '" + searchMethodName + + "' provided for interface; only stk_kdtree " + "is supported"); + } } if (inputNode["search_tolerance"]) From 6af4763947ee037a1c53ee0939814da423833b50 Mon Sep 17 00:00:00 2001 From: Mohamad Nasreddine Date: Fri, 24 Jul 2026 02:51:25 +0300 Subject: [PATCH 3/4] Correct error message for missing convergence_criteria block The else branch guarding basicSettings["convergence_criteria"] reported a missing convergence_controls block, duplicated from the preceding check at controlsIO.cpp:373. A user with a valid convergence_controls block and no convergence_criteria block was told to add the block they already had. --- src/controls/controlsIO.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controls/controlsIO.cpp b/src/controls/controlsIO.cpp index 60226dd..df447f6 100644 --- a/src/controls/controlsIO.cpp +++ b/src/controls/controlsIO.cpp @@ -441,7 +441,7 @@ void controls::read(YAML::Node inputNode) } else { - errorMsg("convergence_controls block is not provided in the " + errorMsg("convergence_criteria block is not provided in the " "yaml input file"); } From 48728775a6e0b5c23b7567fb9f9cce46451d8cf4 Mon Sep 17 00:00:00 2001 From: Mohamad Nasreddine Date: Fri, 24 Jul 2026 03:15:13 +0300 Subject: [PATCH 4/4] Correct boundaries block hint in zoneIO.cpp The error message for a missing `boundaries` block printed an example headed `boundary_conditions`, which is not a valid key. The example was also malformed YAML: no space after the sequence dash, and sibling keys not indented under the sequence item. The corrected hint matches the form used in examples/risingBubble, examples/airfoil and examples/staticDroplet. --- src/mesh/zone/zoneIO.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/mesh/zone/zoneIO.cpp b/src/mesh/zone/zoneIO.cpp index 4537031..656ac3c 100644 --- a/src/mesh/zone/zoneIO.cpp +++ b/src/mesh/zone/zoneIO.cpp @@ -161,8 +161,9 @@ void zone::read(const YAML::Node& domain) domain["domain_models"]["mesh_deformation"]["stationary_parts"]) { std::vector stationaryPartNames = - domain["domain_models"]["mesh_deformation"]["stationary_parts"] - .template as>(); + domain["domain_models"]["mesh_deformation"] + ["stationary_parts"] + .template as>(); for (auto stationaryPartName : stationaryPartNames) { @@ -242,8 +243,8 @@ void zone::read(const YAML::Node& domain) { errorMsg("zone: `boundaries` block is missing for domain `" + domain["name"].template as() + - "`.\nboundary_conditions:\n -name: \n type: " - "\n location: "); + "`.\nboundaries:\n- name: \n type: " + "\n location: "); } }