Skip to content

Commit 49ed74b

Browse files
Merge branch 'write-geoms-migration' into conjugate-migration
2 parents 41c0d75 + 20c449d commit 49ed74b

8 files changed

Lines changed: 91 additions & 44 deletions

File tree

kratos.gid/apps/FreeSurface/app.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
"properties_location": "json",
3939
"model_part_name": "FluidModelPart",
4040
"output_model_part_name": "",
41-
"write_mdpa_mode": "entities"
41+
"write_mdpa_mode": "geometries"
4242
},
4343
"main_launch_file": "../../exec/MainKratos.py"
4444
}

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

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
}

kratos.gid/apps/PotentialFluid/app.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
"coordinates": "all",
4242
"materials_file": "FluidMaterials.json",
4343
"properties_location": "json",
44-
"write_mdpa_mode": "entities"
44+
"write_mdpa_mode": "geometries"
4545
},
4646
"main_launch_file": "../../exec/MainKratos.py",
4747
"examples": "examples/examples.xml"

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
proc PotentialFluid::write::writeParametersEvent { } {
33
## Get the base settings dictionary from the base application (Fluid)
44
set projectParametersDict [Fluid::write::getParametersDict]
5+
6+
set projectParametersDict [::write::GetModelersDict $projectParametersDict]
57

68
# Change analysis type to potential flow
79
dict set projectParametersDict analysis_stage "KratosMultiphysics.CompressiblePotentialFlowApplication.potential_flow_analysis"

kratos.gid/apps/ShallowWater/app.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@
3939
"materials_file": "TopographyMaterials.json",
4040
"properties_location": "json",
4141
"model_part_name": "main_model_part",
42-
"output_model_part_name": "main_model_part"
42+
"output_model_part_name": "main_model_part",
43+
"write_mdpa_mode": "geometries"
4344
},
4445
"main_launch_file": "../../exec/MainKratos.py",
4546
"description": "Tools for the simulation of free surface flows under the shallow water assumptions."

kratos.gid/apps/ShallowWater/write/write.tcl

Lines changed: 8 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ proc ::ShallowWater::write::Init { } {
2222
SetAttribute properties_location [GetWriteProperty properties_location]
2323
SetAttribute materials_file [GetWriteProperty materials_file]
2424
SetAttribute model_part_name [GetWriteProperty model_part_name]
25+
SetAttribute write_mdpa_mode [GetWriteProperty write_mdpa_mode]
2526
}
2627

2728
proc ::ShallowWater::write::writeModelPartEvent { } {
@@ -32,57 +33,25 @@ proc ::ShallowWater::write::writeModelPartEvent { } {
3233
# Init data
3334
::write::initWriteConfiguration [GetAttributes]
3435

35-
# Headers
36-
::write::writeModelPartData
37-
::write::WriteString "Begin Properties 0"
38-
::write::WriteString "End Properties"
39-
::write::WriteString ""
40-
4136
# Nodal Coordinates
4237
::write::writeNodalCoordinates
4338

44-
# Element connectivities
45-
::write::writeElementConnectivities
39+
# Get the list of groups in the spd
40+
set lista [spdAux::GetListOfSubModelParts]
4641

47-
# Conditions connectivities
48-
writeConditions
42+
# Write the geometries
43+
set ret [::write::writeGeometryConnectivities $lista]
4944

50-
# SubmodelParts
51-
writeSubModelParts
45+
foreach group $lista {
46+
write::writeGroupSubModelPartAsGeometry [$group @n]
47+
}
5248
}
5349

5450
proc ::ShallowWater::write::Validate {} {
5551
set err ""
5652
return $err
5753
}
5854

59-
proc ::ShallowWater::write::writeConditions { } {
60-
variable ConditionsDictGroupIterators
61-
set ConditionsDictGroupIterators [::write::writeConditions [GetAttribute conditions_un] ]
62-
}
63-
64-
proc ::ShallowWater::write::writeSubModelParts {} {
65-
::write::writePartSubModelPart
66-
::write::writeNodalConditions [GetAttribute topography_data_un]
67-
::write::writeNodalConditions [GetAttribute initial_conditions_un]
68-
WriteConditionsSubModelParts
69-
}
70-
71-
proc ::ShallowWater::write::WriteConditionsSubModelParts { } {
72-
variable ConditionsDictGroupIterators
73-
set root [customlib::GetBaseRoot]
74-
set xp1 "[spdAux::getRoute [GetAttribute conditions_un]]/condition/group"
75-
foreach group [$root selectNodes $xp1] {
76-
set groupid [$group @n]
77-
set groupid [write::GetWriteGroupName $groupid]
78-
if {$groupid in [dict keys $ConditionsDictGroupIterators]} {
79-
::write::writeGroupSubModelPart [[$group parent] @n] $groupid "Conditions" [dict get $ConditionsDictGroupIterators $groupid]
80-
} else {
81-
::write::writeGroupSubModelPart [[$group parent] @n] $groupid "nodal"
82-
}
83-
}
84-
}
85-
8655
proc ::ShallowWater::write::writeCustomFilesEvent { } {
8756
write::writePropertiesJsonFile [GetAttribute parts_un] [GetAttribute materials_file] false [GetAttribute model_part_name]
8857
write::SetConfigurationAttribute main_launch_file [GetAttribute main_launch_file]

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ proc ::ShallowWater::write::getParametersDict { } {
2525
# Output processes
2626
dict set projectParametersDict output_processes [write::GetDefaultOutputProcessDict]
2727

28+
set projectParametersDict [::write::GetModelersDict $projectParametersDict]
29+
2830
return $projectParametersDict
2931
}
3032

kratos.gid/scripts/Writing/WriteProjectParameters.tcl

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -663,15 +663,19 @@ proc write::GetMatchSubModelPart { what {stage ""} } {
663663
set group_name [$group @n]
664664

665665
set group_name [write::GetWriteGroupName $group_name]
666-
if {$group_name ni $processed_groups_list} {lappend processed_groups_list $group_name} {continue}
667-
if {$what == "condition"} {set cid [[$group parent] @n]} {
666+
#if {$group_name ni $processed_groups_list} {lappend processed_groups_list $group_name} {continue}
667+
if {$what == "condition"} {
668+
set cid [[$group parent] @n]
669+
} else {
668670
set element_node [$group selectNodes "./value\[@n='Element']"]
669671
if {[llength $element_node] == 0} {continue}
670672
set cid [write::getValueByNode $element_node]
671673
}
672674
if {$cid eq ""} {continue}
673675
if {$what == "condition"} {set entity [::Model::getCondition $cid]} {set entity [::Model::getElement $cid]}
674676
if {$entity eq ""} {continue}
677+
678+
if {$group_name ni $processed_groups_list} {lappend processed_groups_list $group_name} {continue}
675679
if {$what == "condition"} {
676680
if {[$entity getGroupBy] eq "Condition"} {
677681
set good_name "_HIDDEN_$cid"

0 commit comments

Comments
 (0)