@@ -5,6 +5,11 @@ namespace eval ::Dam::examples::ThermoMechaDam2D {
55}
66
77proc ::Dam::examples::ThermoMechaDam2D::Init {args} {
8+ if {![Kratos::IsModelEmpty]} {
9+ set txt " We are going to draw the example geometry.\n Do you want to lose your previous work?"
10+ set retval [tk_messageBox -default ok -icon question -message $txt -type okcancel]
11+ if { $retval == " cancel" } { return }
12+ }
813
914 DrawGeometry
1015 AssignGroups
@@ -17,7 +22,7 @@ proc ::Dam::examples::ThermoMechaDam2D::Init {args} {
1722}
1823
1924proc ::Dam::examples::ThermoMechaDam2D::DrawGeometry {args} {
20-
25+
2126 Kratos::ResetModel
2227 GiD_Layers create Dam
2328 GiD_Layers edit to_use Dam
@@ -46,15 +51,15 @@ proc ::Dam::examples::ThermoMechaDam2D::DrawGeometry {args} {
4651 GiD_Layers create Soil
4752 GiD_Layers edit color Soil " #999900ff"
4853 GiD_Layers edit to_use Soil
49-
54+
5055 # ~ # Geometry creation
5156 # ~ ## Points ##
5257 set soil_coordinates [list -5 0 0 -5 -5 0 15 -5 0 15 0 0 ]
5358 set soilPoints [list ]
5459 foreach {x y z} $soil_coordinates {
5560 lappend soilPoints [GiD_Geometry create point append Soil $x $y $z ]
5661 }
57-
62+
5863 # # Lines ##
5964 set soilLines [list ]
6065 set initial [lindex $damPoints 0]
@@ -63,60 +68,60 @@ proc ::Dam::examples::ThermoMechaDam2D::DrawGeometry {args} {
6368 set initial $point
6469 }
6570 lappend soilLines [GiD_Geometry create line append stline Soil $initial [lindex $damPoints 1]]
66-
67-
71+
72+
6873 lappend soilLines 1
69-
74+
7075 # # Surface ##
7176 GiD_Process Mescape Geometry Create NurbsSurface {*}$soilLines escape escape
72-
77+
7378 GiD_Process 'Zoom Frame
74-
79+
7580}
7681
7782proc ::Dam::examples::ThermoMechaDam2D::AssignGroups {args} {
78-
83+
7984 # Create the groups
8085 GiD_Groups create Dam
8186 GiD_Groups edit color Dam " #26d1a8ff"
8287 GiD_EntitiesGroups assign Dam surfaces 1
83-
88+
8489 GiD_Groups create Soil
8590 GiD_Groups edit color Soil " #e0210fff"
8691 GiD_EntitiesGroups assign Soil surfaces 2
87-
92+
8893 GiD_Groups create Displacement
8994 GiD_Groups edit color Displacement " #3b3b3bff"
9095 GiD_EntitiesGroups assign Displacement lines 7
91-
96+
9297 GiD_Groups create Initial
9398 GiD_Groups edit color Initial " #26d1a8ff"
9499 GiD_EntitiesGroups assign Initial surfaces {1 2}
95-
100+
96101 GiD_Groups create Bofang
97102 GiD_Groups edit color Bofang " #42eb71ff"
98103 GiD_EntitiesGroups assign Bofang lines {4 5}
99104
100105 GiD_Groups create Uniform
101106 GiD_Groups edit color Uniform " #3b3b3bff"
102- GiD_EntitiesGroups assign Uniform lines {3 2 9}
103-
107+ GiD_EntitiesGroups assign Uniform lines {3 2 9}
108+
104109 GiD_Groups create Thermal_Parameters_1
105110 GiD_Groups edit color Initial " #26d1a8ff"
106111 GiD_EntitiesGroups assign Thermal_Parameters_1 surfaces 1
107-
112+
108113 GiD_Groups create Thermal_Parameters_2
109114 GiD_Groups edit color Initial " #26d1a8ff"
110115 GiD_EntitiesGroups assign Thermal_Parameters_2 surfaces 2
111-
116+
112117 GiD_Groups create Hydrostatic
113118 GiD_Groups edit color Hydrostatic " #26d1a8fe"
114119 GiD_EntitiesGroups assign Hydrostatic lines {4 5}
115120
116121}
117122
118123proc ::Dam::examples::ThermoMechaDam2D::AssignMeshSizes {args} {
119-
124+
120125 set dam_mesh_size 0.25
121126 GiD_Process Mescape Meshing AssignSizes Surfaces $dam_mesh_size [GiD_EntitiesGroups get Dam surfaces] escape escape
122127 GiD_Process Mescape Meshing AssignSizes Surfaces $dam_mesh_size [GiD_EntitiesGroups get Soil surfaces] escape escape
@@ -137,20 +142,20 @@ proc ::Dam::examples::ThermoMechaDam2D::TreeAssignation {args} {
137142 set damNode [customlib::AddConditionGroupOnXPath $damParts Dam]
138143 set props [list Element SmallDisplacementElement2D ConstitutiveLaw ThermalLinearElastic2DPlaneStrain Material " Concrete-Dam" DENSITY 2400 YOUNG_MODULUS 1.962e10 POISSON_RATIO 0.20 THERMAL_EXPANSION 1e-05]
139144 spdAux::SetValuesOnBaseNode $damNode $props
140-
145+
141146 # Soil Part
142147 set soilNode [customlib::AddConditionGroupOnXPath $damParts Soil]
143148 set props_soil [list Element SmallDisplacementElement2D ConstitutiveLaw ThermalLinearElastic2DPlaneStrain Material Soil DENSITY 3000 YOUNG_MODULUS 4.9e10 POISSON_RATIO 0.25 THERMAL_EXPANSION 1e-05]
144149 spdAux::SetValuesOnBaseNode $soilNode $props_soil
145150
146151 # Dirichlet Conditions
147-
152+
148153 # Displacements
149154 set damDirichletConditions [spdAux::getRoute " DamNodalConditions" ]
150155 set displacement " $damDirichletConditions /condition\[ @n='DISPLACEMENT'\] "
151156 set displacemnetnode [customlib::AddConditionGroupOnXPath $displacement Displacement]
152-
153- # Surface Temperature
157+
158+ # Surface Temperature
154159 set initial " $damDirichletConditions /condition\[ @n='INITIALTEMPERATURE'\] "
155160 set initialnode [customlib::AddConditionGroupOnXPath $initial Initial]
156161 set props_initial [list is_fixed 0 value 7.5 ]
@@ -161,36 +166,36 @@ proc ::Dam::examples::ThermoMechaDam2D::TreeAssignation {args} {
161166 set bofangnode [customlib::AddConditionGroupOnXPath $bofang Bofang]
162167 set props_bofang [list is_fixed 1 Gravity_Direction Y Reservoir_Bottom_Coordinate_in_Gravity_Direction 0.0 Surface_Temp 15.19 Bottom_Temp 9.35 Height_Dam 30.0 Temperature_Amplitude 6.51 Day_Ambient_Temp 201 Water_level 20.0 Month 7 ]
163168 spdAux::SetValuesOnBaseNode $bofangnode $props_bofang
164-
169+
165170 # Uniform Temperature
166171 set uniform " $damDirichletConditions /condition\[ @n='INITIALTEMPERATURE'\] "
167172 set uniformnode [customlib::AddConditionGroupOnXPath $uniform Uniform]
168173 set props_uniform [list is_fixed 1 value 10.0 ]
169174 spdAux::SetValuesOnBaseNode $uniformnode $props_uniform
170-
171-
175+
176+
172177 # Thermal Load Conditions
173-
178+
174179 # Thermal Parameters 1
175180 set damThermalLoadConditions [spdAux::getRoute " DamThermalLoads" ]
176181 set thermalparameter " $damThermalLoadConditions /condition\[ @n='ThermalParameters2D'\] "
177182 set thermalparameternode1 [customlib::AddConditionGroupOnXPath $thermalparameter Thermal_Parameters_1]
178-
183+
179184 # Thermal Parameters 2
180185 set thermalparameternode2 [customlib::AddConditionGroupOnXPath $thermalparameter Thermal_Parameters_2]
181186 set props_thermal_2 [list ThermalDensity 3000 ]
182187 spdAux::SetValuesOnBaseNode $thermalparameternode2 $props_thermal_2
183-
188+
184189 # Load Conditions
185-
190+
186191 # Hydrostatic Load
187192 set damLoadConditions [spdAux::getRoute " DamLoads" ]
188193 set hydro " $damLoadConditions /condition\[ @n='HydroLinePressure2D'\] "
189194 set hydronode [customlib::AddConditionGroupOnXPath $hydro Hydrostatic]
190195 set props_hydro [list Modify 0 Gravity_Direction Y Reservoir_Bottom_Coordinate_in_Gravity_Direction 0.0 Spe_weight 10000 Water_level 20.0]
191196 spdAux::SetValuesOnBaseNode $hydronode $props_hydro
192-
193-
197+
198+
194199 # Solution
195200 spdAux::SetValueOnTreeItem v " Days" DamTimeScale
196201
0 commit comments