Skip to content

Commit 8a997e3

Browse files
Naming in pfemfluid example
1 parent 7b4d13d commit 8a997e3

2 files changed

Lines changed: 38 additions & 29 deletions

File tree

kratos.gid/apps/PfemFluid/examples/DamBreakFSI.tcl

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -102,18 +102,23 @@ proc PfemFluid::examples::TreeAssignationDamBreakFSI2D {args} {
102102

103103
# Fluid Parts
104104
set bodies_xpath "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='Body1'\]"
105+
gid_groups_conds::copyNode $bodies_xpath [spdAux::getRoute PFEMFLUID_Bodies]
106+
gid_groups_conds::setAttributesF "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@n='Body'\]\[2\]" {name FluidBody}
105107

106108
gid_groups_conds::copyNode $bodies_xpath [spdAux::getRoute PFEMFLUID_Bodies]
107-
gid_groups_conds::setAttributesF "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@n='Body'\]\[2\]" {name Body2}
109+
gid_groups_conds::setAttributesF "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@n='Body'\]\[3\]" {name SolidBody}
108110

109111
gid_groups_conds::copyNode $bodies_xpath [spdAux::getRoute PFEMFLUID_Bodies]
110-
gid_groups_conds::setAttributesF "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@n='Body'\]\[3\]" {name Body3}
112+
gid_groups_conds::setAttributesF "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@n='Body'\]\[4\]" {name RigidInterfaceBody}
111113

112114
gid_groups_conds::copyNode $bodies_xpath [spdAux::getRoute PFEMFLUID_Bodies]
113-
gid_groups_conds::setAttributesF "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@n='Body'\]\[4\]" {name Body4}
115+
gid_groups_conds::setAttributesF "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@n='Body'\]\[5\]" {name RigidWallsBody}
116+
117+
118+
gid_groups_conds::setAttributesF $bodies_xpath {state hidden}
114119

115-
set fluid_part_xpath "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='Body1'\]/condition\[@n='Parts'\]"
116-
gid_groups_conds::setAttributesF "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='Body1'\]/value\[@n='BodyType'\]" {v Fluid}
120+
set fluid_part_xpath "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='FluidBody'\]/condition\[@n='Parts'\]"
121+
gid_groups_conds::setAttributesF "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='FluidBody'\]/value\[@n='BodyType'\]" {v Fluid}
117122
set fluidNode [customlib::AddConditionGroupOnXPath $fluid_part_xpath Fluid]
118123
set props [list ConstitutiveLaw Newtonian DENSITY 1e3]
119124
foreach {prop val} $props {
@@ -126,9 +131,9 @@ proc PfemFluid::examples::TreeAssignationDamBreakFSI2D {args} {
126131
}
127132

128133
# Solid Parts
129-
gid_groups_conds::setAttributesF "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='Body2'\]/value\[@n='BodyType'\]" {v Solid}
130-
gid_groups_conds::setAttributesF "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='Body2'\]/value\[@n='MeshingStrategy'\]" {v "No remesh"}
131-
set solid_part_xpath "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='Body2'\]/condition\[@n='Parts'\]"
134+
gid_groups_conds::setAttributesF "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='SolidBody'\]/value\[@n='BodyType'\]" {v Solid}
135+
gid_groups_conds::setAttributesF "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='SolidBody'\]/value\[@n='MeshingStrategy'\]" {v "No remesh"}
136+
set solid_part_xpath "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='SolidBody'\]/condition\[@n='Parts'\]"
132137
set solidNode [customlib::AddConditionGroupOnXPath $solid_part_xpath Solid]
133138
set props [list Element UpdatedLagrangianVSolidElement2D ConstitutiveLaw Hypoelastic DENSITY 2500 YOUNG_MODULUS 1000000 POISSON_RATIO 0]
134139
foreach {prop val} $props {
@@ -140,16 +145,16 @@ proc PfemFluid::examples::TreeAssignationDamBreakFSI2D {args} {
140145
}
141146
}
142147

143-
144-
gid_groups_conds::setAttributesF "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='Body3'\]/value\[@n='BodyType'\]" {v Rigid}
145-
gid_groups_conds::setAttributesF "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='Body3'\]/value\[@n='MeshingStrategy'\]" {v "No remesh"}
146-
set interface_part_xpath "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='Body3'\]/condition\[@n='Parts'\]"
148+
# Rigid Parts
149+
gid_groups_conds::setAttributesF "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='RigidInterfaceBody'\]/value\[@n='BodyType'\]" {v Rigid}
150+
gid_groups_conds::setAttributesF "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='RigidInterfaceBody'\]/value\[@n='MeshingStrategy'\]" {v "No remesh"}
151+
set interface_part_xpath "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='RigidInterfaceBody'\]/condition\[@n='Parts'\]"
147152
set interfaceNode [customlib::AddConditionGroupOnXPath $interface_part_xpath Interface]
148153
$interfaceNode setAttribute ov line
149154

150-
gid_groups_conds::setAttributesF "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='Body4'\]/value\[@n='BodyType'\]" {v Rigid}
151-
gid_groups_conds::setAttributesF "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='Body4'\]/value\[@n='MeshingStrategy'\]" {v "No remesh"}
152-
set rigid_part_xpath "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='Body4'\]/condition\[@n='Parts'\]"
155+
gid_groups_conds::setAttributesF "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='RigidWallsBody'\]/value\[@n='BodyType'\]" {v Rigid}
156+
gid_groups_conds::setAttributesF "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='RigidWallsBody'\]/value\[@n='MeshingStrategy'\]" {v "No remesh"}
157+
set rigid_part_xpath "[spdAux::getRoute PFEMFLUID_Bodies]/blockdata\[@name='RigidWallsBody'\]/condition\[@n='Parts'\]"
153158
set rigidNode [customlib::AddConditionGroupOnXPath $rigid_part_xpath Rigid_Walls]
154159
$rigidNode setAttribute ov line
155160

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

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -261,8 +261,10 @@ proc PfemFluid::write::GetBodiesWithContactList {contact_name} {
261261
set bodies_list [list ]
262262
set xp1 "[spdAux::getRoute "PFEMFLUID_Bodies"]/blockdata"
263263
foreach body_node [[customlib::GetBaseRoot] selectNodes $xp1] {
264-
set contact [get_domnode_attribute [$body_node selectNodes ".//value\[@n='ContactStrategy'\]"] v]
265-
if {$contact eq $contact_name} {lappend bodies_list [get_domnode_attribute $body_node name]}
264+
if {[get_domnode_attribute $body_node state] ne "hidden"} {
265+
set contact [get_domnode_attribute [$body_node selectNodes ".//value\[@n='ContactStrategy'\]"] v]
266+
if {$contact eq $contact_name} {lappend bodies_list [get_domnode_attribute $body_node name]}
267+
}
266268
}
267269
return $bodies_list
268270
}
@@ -507,7 +509,7 @@ proc PfemFluid::write::GetRemeshProperty { body_name property } {
507509
set xp1 "[spdAux::getRoute "PFEMFLUID_Bodies"]/blockdata"
508510
set remesh_name ""
509511
foreach body_node [$root selectNodes $xp1] {
510-
if {[$body_node @name] eq $body_name} {
512+
if {[$body_node @name] eq $body_name && [get_domnode_attribute $body_node state] ne "hidden"} {
511513
set remesh_name [get_domnode_attribute [$body_node selectNodes ".//value\[@n='MeshingStrategy'\]"] v]
512514
break
513515
}
@@ -529,18 +531,20 @@ proc PfemFluid::write::ProcessBodiesList { } {
529531
set root [customlib::GetBaseRoot]
530532
set xp1 "[spdAux::getRoute "PFEMFLUID_Bodies"]/blockdata"
531533
foreach body_node [$root selectNodes $xp1] {
532-
set body [dict create]
533-
set name [$body_node @name]
534-
set body_type_path ".//value\[@n='BodyType'\]"
535-
set body_type [get_domnode_attribute [$body_node selectNodes $body_type_path] v]
536-
set parts [list ]
537-
foreach part_node [$body_node selectNodes "./condition/group"] {
538-
lappend parts [write::getSubModelPartId "Parts" [$part_node @n]]
534+
if {[get_domnode_attribute $body_node state] ne "hidden"} {
535+
set body [dict create]
536+
set name [$body_node @name]
537+
set body_type_path ".//value\[@n='BodyType'\]"
538+
set body_type [get_domnode_attribute [$body_node selectNodes $body_type_path] v]
539+
set parts [list ]
540+
foreach part_node [$body_node selectNodes "./condition/group"] {
541+
lappend parts [write::getSubModelPartId "Parts" [$part_node @n]]
542+
}
543+
dict set body "body_type" $body_type
544+
dict set body "body_name" $name
545+
dict set body "parts_list" $parts
546+
lappend bodiesList $body
539547
}
540-
dict set body "body_type" $body_type
541-
dict set body "body_name" $name
542-
dict set body "parts_list" $parts
543-
lappend bodiesList $body
544548
}
545549
return $bodiesList
546550
}

0 commit comments

Comments
 (0)