@@ -23,6 +23,11 @@ proc ::FreeSurface::write::getParametersDict { } {
2323 # # processes
2424 dict set projectParametersDict processes [::Fluid::write::GetProcesses_Dict]
2525
26+ set projectParametersDict [::write::GetModelersDict $projectParametersDict ]
27+
28+ set projectParametersDict [::FreeSurface::write::ReplaceConditionsName $projectParametersDict " WallCondition2D2N" " LineCondition2D2N" ]
29+ set projectParametersDict [::FreeSurface::write::ReplaceConditionsName $projectParametersDict " WallCondition3D3N" " LineCondition3D3N" ]
30+
2631 return $projectParametersDict
2732}
2833
@@ -60,3 +65,67 @@ proc ::FreeSurface::write::writeParametersEvent { } {
6065 write::SetParallelismConfiguration
6166 write::WriteJSON $projectParametersDict
6267}
68+
69+ proc ::FreeSurface::write::ReplaceConditionsName { projectParametersDict old_cond_name new_cond_name } {
70+
71+ # in the section 'modelers' we have this structure
72+ # [
73+ # {
74+ # "name": "Modelers.KratosMultiphysics.ImportMDPAModeler",
75+ # "parameters": {
76+ # "input_filename": "free",
77+ # "model_part_name": "free"
78+ # }
79+ # },
80+ # {
81+ # "name": "Modelers.KratosMultiphysics.CreateEntitiesFromGeometriesModeler",
82+ # "parameters": {
83+ # "elements_list": [
84+ # {
85+ # "model_part_name": "free.Fluid",
86+ # "element_name": "Element2D3N"
87+ # }
88+ # ],
89+ # "conditions_list": [
90+ # {
91+ # "model_part_name": "free.Outlet",
92+ # "condition_name": "WallCondition2D2N"
93+ # },
94+ # {
95+ # "model_part_name": "free._HIDDEN_Slip2D",
96+ # "condition_name": "WallCondition2D2N"
97+ # }
98+ # ]
99+ # }
100+ # }
101+ # ]
102+ # we need to replace all the occurrences of old_cond_name with new_cond_name
103+
104+ set modelers [dict get $projectParametersDict modelers]
105+ set modelers_new [list ]
106+ foreach modeler $modelers {
107+ set modeler_new [dict create]
108+ dict set modeler_new name [dict get $modeler name]
109+ set parameters [dict get $modeler parameters]
110+ set parameters_new [dict create]
111+ foreach {key value} $parameters {
112+ if { $key == " conditions_list" } {
113+ set conditions_list_new [list ]
114+ foreach {condition} $value {
115+ set condition_new [dict create]
116+ dict set condition_new model_part_name [dict get $condition model_part_name]
117+ dict set condition_new condition_name [expr {[dict get $condition condition_name] == $old_cond_name ? $new_cond_name : [dict get $condition condition_name]}]
118+ lappend conditions_list_new $condition_new
119+ }
120+ dict set parameters_new $key $conditions_list_new
121+ } else {
122+ dict set parameters_new $key $value
123+ }
124+ }
125+ dict set modeler_new parameters $parameters_new
126+ lappend modelers_new $modeler_new
127+ }
128+ dict set projectParametersDict modelers $modelers_new
129+
130+ return $projectParametersDict
131+ }
0 commit comments