Skip to content

Commit d6b9d9d

Browse files
replace conditions name
1 parent a70930e commit d6b9d9d

1 file changed

Lines changed: 67 additions & 0 deletions

File tree

kratos.gid/apps/FreeSurface/write/writeProjectParameters.tcl

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ proc ::FreeSurface::write::getParametersDict { } {
2525

2626
set projectParametersDict [::write::GetModelersDict $projectParametersDict]
2727

28+
set projectParametersDict [::FreeSurface::write::ReplaceConditionsName $projectParametersDict "WallCondition2D2N" "LineCondition2D2N"]
29+
set projectParametersDict [::FreeSurface::write::ReplaceConditionsName $projectParametersDict "WallCondition3D3N" "LineCondition3D3N"]
30+
2831
return $projectParametersDict
2932
}
3033

@@ -62,3 +65,67 @@ proc ::FreeSurface::write::writeParametersEvent { } {
6265
write::SetParallelismConfiguration
6366
write::WriteJSON $projectParametersDict
6467
}
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

Comments
 (0)