Skip to content

Commit 5a60804

Browse files
Merge pull request #815 from KratosMultiphysics/hotfix-fsi-submodelparts
Hotfix fsi submodelparts
2 parents 790c050 + 5ddbff3 commit 5a60804

3 files changed

Lines changed: 26 additions & 15 deletions

File tree

kratos.gid/apps/FSI/examples/MokChannelWithFlexibleWall.tcl

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,8 @@ proc FSI::examples::AssignMokChannelFlexibleWallMeshSizes3D {args} {
164164

165165
GiD_Process Mescape Utilities Variables SizeTransitionsFactor 0.4 escape escape
166166
GiD_Process Mescape Meshing ElemType Tetrahedra [GiD_EntitiesGroups get Fluid volumes] escape
167-
GiD_Process Mescape Meshing ElemType Hexahedra [GiD_EntitiesGroups get Structure volumes] escape
167+
GiD_Process Mescape Meshing ElemType Tetrahedra [GiD_EntitiesGroups get Structure volumes] escape
168+
# GiD_Process Mescape Meshing ElemType Hexahedra [GiD_EntitiesGroups get Structure volumes] escape
168169
GiD_Process Mescape Meshing Structured Surfaces 14 16 escape $long_side_divisions 12 14 escape $long_side_divisions 45 46 escape escape
169170
GiD_Process Mescape Meshing Structured Surfaces 15 escape $short_side_divisions 13 escape $long_side_divisions 45 46 escape escape
170171
GiD_Process Mescape Meshing Structured Volumes [GiD_EntitiesGroups get Structure volumes] escape $short_side_divisions 48 escape $long_side_divisions 15 17 52 53 escape escape
@@ -188,12 +189,13 @@ proc FSI::examples::TreeAssignationMokChannelFlexibleWall {args} {
188189
spdAux::SetValuesOnBaseNode $fluidNode $props
189190

190191
set fluidConditions {container[@n='FSI']/container[@n='Fluid']/container[@n='BoundaryConditions']}
192+
191193
# Fluid Interface
192194
set fluidInlet "$fluidConditions/condition\[@n='AutomaticInlet$nd'\]"
193195

194196
# Fluid Inlet
195-
set function {0.1214*(1-cos(0.1*pi*t))*y*(1-y) if t<10 else 0.2428*y*(1-y)}
196-
Fluid::xml::CreateNewInlet Inlet {new false name Total} true $function
197+
Fluid::xml::CreateNewInlet Inlet {new true name interval1 ini 0 end 10.0} true "0.1214*(1-cos(0.1*pi*t))*y*(1-y)"
198+
Fluid::xml::CreateNewInlet Inlet {new true name interval2 ini 10.0 end End} true "0.2428*y*(1-y)"
197199

198200
# Fluid Outlet
199201
set fluidOutlet "$fluidConditions/condition\[@n='Outlet$nd'\]"

kratos.gid/apps/FSI/examples/TurekBenchmark.tcl

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,12 +175,13 @@ proc FSI::examples::TreeAssignationTurekBenchmark {args} {
175175
spdAux::SetValuesOnBaseNode $fluidNode $props
176176

177177
set fluidConditions {container[@n='FSI']/container[@n='Fluid']/container[@n='BoundaryConditions']}
178+
178179
# Fluid Interface
179180
set fluidInlet "$fluidConditions/condition\[@n='AutomaticInlet$nd'\]"
180-
181+
181182
# Fluid Inlet
182-
set function {1.5*(0.5*(1-cos(0.5*pi*t))*1.0)*(4.0/0.1681)*y*(0.41-y) if t<2.0 else 1.5*(1.0)*(4.0/0.1681)*y*(0.41-y)}
183-
Fluid::xml::CreateNewInlet Inlet {new false name Total} true $function
183+
Fluid::xml::CreateNewInlet Inlet {new true name interval1 ini 0 end 2.0} true "1.5*(0.5*(1-cos(0.5*pi*t))*1.0)*(4.0/0.1681)*y*(0.41-y)"
184+
Fluid::xml::CreateNewInlet Inlet {new true name interval2 ini 2.0 end end} true "1.5*(1.0)*(4.0/0.1681)*y*(0.41-y)"
184185

185186
# Fluid Outlet
186187
set fluidOutlet "$fluidConditions/condition\[@n='Outlet$nd'\]"

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

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,21 @@ proc FSI::write::GetSolverSettingsDict { } {
6969

7070

7171
# structure interface
72-
set structure_interfaces_list [write::GetSubModelPartFromCondition STLoads StructureInterface2D]
73-
lappend structure_interfaces_list {*}[write::GetSubModelPartFromCondition STLoads StructureInterface3D]
72+
set structure_interfaces_list [list ]
73+
set structure_interfaces_list_raw [write::GetSubModelPartFromCondition STLoads StructureInterface2D]
74+
lappend structure_interfaces_list_raw {*}[write::GetSubModelPartFromCondition STLoads StructureInterface3D]
75+
foreach interface $structure_interfaces_list_raw {
76+
lappend structure_interfaces_list [Structural::write::GetAttribute model_part_name].$interface
77+
}
7478
dict set solver_settings_dict coupling_settings structure_interfaces_list $structure_interfaces_list
7579

7680
# Fluid interface
7781
set fluid_interface_uniquename FluidNoSlipInterface$::Model::SpatialDimension
78-
set fluid_interfaces_list [write::GetSubModelPartFromCondition FLBC $fluid_interface_uniquename]
82+
set fluid_interfaces_list [list ]
83+
set fluid_interfaces_list_raw [write::GetSubModelPartFromCondition FLBC $fluid_interface_uniquename]
84+
foreach interface $structure_interfaces_list_raw {
85+
lappend fluid_interfaces_list [Fluid::write::GetAttribute model_part_name].$interface
86+
}
7987
dict set solver_settings_dict coupling_settings fluid_interfaces_list $fluid_interfaces_list
8088

8189
# Change the input_filenames
@@ -140,12 +148,12 @@ proc FSI::write::GetMappingSettingsList { } {
140148
set structural_interface_name StructureInterface$::Model::SpatialDimension
141149
set structuralInterface [lindex [write::GetSubModelPartFromCondition STLoads $structural_interface_name] 0]
142150
foreach fluid_interface [[customlib::GetBaseRoot] selectNodes "[spdAux::getRoute FLBC]/condition\[@n = '$fluid_interface_name'\]/group" ] {
143-
set map [dict create]
144-
set mapper_face [write::getValueByNode [$fluid_interface selectNodes ".//value\[@n='mapper_face']"] ]
145-
dict set map mapper_face $mapper_face
146-
dict set map fluid_interface_submodelpart_name [write::getSubModelPartId $fluid_interface_name [get_domnode_attribute $fluid_interface n]]
147-
dict set map structure_interface_submodelpart_name $structuralInterface
148-
lappend mappingsList $map
151+
set map [dict create]
152+
set mapper_face [write::getValueByNode [$fluid_interface selectNodes ".//value\[@n='mapper_face']"] ]
153+
dict set map mapper_face $mapper_face
154+
dict set map fluid_interface_submodelpart_name [Fluid::write::GetAttribute model_part_name].[write::getSubModelPartId $fluid_interface_name [get_domnode_attribute $fluid_interface n]]
155+
dict set map structure_interface_submodelpart_name [Structural::write::GetAttribute model_part_name].$structuralInterface
156+
lappend mappingsList $map
149157
}
150158

151159
return $mappingsList

0 commit comments

Comments
 (0)