Skip to content

Commit a0ed39a

Browse files
author
Miguel Angel Celigueta
authored
Merge branch 'master' into dem/results-for-cdem
2 parents faa7b5a + 68dc40c commit a0ed39a

4 files changed

Lines changed: 25 additions & 31 deletions

File tree

kratos.gid/apps/DEM/write/writeMDPA_Walls.tcl

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -140,20 +140,7 @@ proc DEM::write::GetNodesForGraphs { } {
140140

141141
proc DEM::write::writeConditions { wall_properties } {
142142

143-
foreach group [GetWallsGroups] {
144-
set mid [dict get $wall_properties $group]
145-
if {$::Model::SpatialDimension eq "2D"} {
146-
set rigid_type "RigidEdge3D2N"
147-
set format [write::GetFormatDict $group $mid 2]
148-
} else {
149-
set rigid_type "RigidFace3D3N"
150-
set format [write::GetFormatDict $group $mid 3]
151-
}
152-
write::WriteString "Begin Conditions $rigid_type // GUI DEM-FEM-Wall group identifier: $group"
153-
GiD_WriteCalculationFile connectivities $format
154-
write::WriteString "End Conditions"
155-
write::WriteString ""
156-
}
143+
write::writeConditionsByGiDId DEMConditions DEM-FEM-Wall $wall_properties
157144
}
158145

159146

kratos.gid/apps/DEM/xml/Conditions.xml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<ConditionList>
3-
4-
<ConditionItem n="DEM-FEM-Wall" pn="DEM-FEM Wall" Interval="False" ImplementedInApplication="DEMApplication" MinimumKratosVersion="9000" ProductionReady="ProductionReady" WorkingSpaceDimension="3D" LocalSpaceDimension="2" ElementType="Surface" ProcessName="DEM-FEM-Wall-Process" help="Assign kinematic conditions for each group containing finite elements" VariableName="WALL">
3+
<ConditionItem n="DEM-FEM-Wall" pn="DEM-FEM Wall" Interval="False" ImplementedInApplication="DEMApplication" MinimumKratosVersion="9000" ProductionReady="ProductionReady" WorkingSpaceDimension="3D" LocalSpaceDimension="2" ElementType="Line,Surface" ProcessName="DEM-FEM-Wall-Process" help="Assign kinematic conditions for each group containing finite elements" VariableName="WALL">
54
<TopologyFeatures>
6-
<item GeometryType="Triangle" nodes="3" KratosName="WallCondition3D3N"/>
7-
<item GeometryType="Triangle" nodes="6" KratosName="WallCondition3D6N"/>
5+
<item GeometryType="Line" nodes="2" KratosName="RigidFace3D2N"/>
6+
<item GeometryType="Triangle" nodes="3" KratosName="RigidFace3D3N"/>
87
</TopologyFeatures>
98
<inputs></inputs>
109
<outputs></outputs>
1110
</ConditionItem>
1211

1312
<ConditionItem n="DEM-FEM-Wall2D" pn="DEM-FEM Wall" Interval="False" ImplementedInApplication="DEMApplication" MinimumKratosVersion="9000" ProductionReady="ProductionReady" WorkingSpaceDimension="2D" LocalSpaceDimension="1" ElementType="Line" ProcessName="DEM-FEM-Wall-Process" help="Assign kinematic conditions for each group containing finite elements" VariableName="WALL">
1413
<TopologyFeatures>
15-
<item GeometryType="Line" nodes="2" KratosName="WallCondition2D2N"/>
14+
<item GeometryType="Line" nodes="2" KratosName="RigidEdge3D2N"/>
1615
</TopologyFeatures>
1716
<inputs></inputs>
1817
<outputs></outputs>
@@ -41,7 +40,7 @@
4140
<outputs></outputs>
4241
</ConditionItem>
4342

44-
<ConditionItem n="DEM-VelocityIC" pn="DEM-VelocityIC" Interval="False" ImplementedInApplication="DEMApplication" MinimumKratosVersion="9000" ProductionReady="ProductionReady" WorkingSpaceDimension="3D" LocalSpaceDimension="2" ProcessName="DEM-VelocityIC-Process" help="Assign particle initial conditions" VariableName="SPHEREIC">
43+
<ConditionItem n="DEM-VelocityIC" pn="DEM-VelocityIC" Interval="False" ImplementedInApplication="DEMApplication" MinimumKratosVersion="9000" ProductionReady="ProductionReady" WorkingSpaceDimension="3D" LocalSpaceDimension="2" ProcessName="DEM-VelocityIC-Process" help="Assign particle initial conditions" VariableName="SPHEREIC">
4544
<TopologyFeatures></TopologyFeatures>
4645
<inputs></inputs>
4746
<outputs></outputs>
@@ -53,7 +52,7 @@
5352
<outputs></outputs>
5453
</ConditionItem>
5554

56-
<ConditionItem n="DEM-VelocityIC2D" pn="DEM-VelocityIC" Interval="False" ImplementedInApplication="DEMApplication" MinimumKratosVersion="9000" ProductionReady="ProductionReady" WorkingSpaceDimension="2D" LocalSpaceDimension="1" ProcessName="DEM-VelocityIC-Process" help="Assign particle initial conditions" VariableName="SPHEREIC">
55+
<ConditionItem n="DEM-VelocityIC2D" pn="DEM-VelocityIC" Interval="False" ImplementedInApplication="DEMApplication" MinimumKratosVersion="9000" ProductionReady="ProductionReady" WorkingSpaceDimension="2D" LocalSpaceDimension="1" ProcessName="DEM-VelocityIC-Process" help="Assign particle initial conditions" VariableName="SPHEREIC">
5756
<TopologyFeatures></TopologyFeatures>
5857
<inputs></inputs>
5958
<outputs></outputs>

kratos.gid/scripts/Writing/WriteConditionsByGiDId.tcl

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,31 @@
11

2-
proc write::writeConditionsByGiDId { baseUN {cond_id ""}} {
2+
proc write::writeConditionsByGiDId { baseUN {force_write_cond_id ""} {properties_dict ""}} {
33
set root [customlib::GetBaseRoot]
44

55
set xp1 "[spdAux::getRoute $baseUN]/condition/group"
6+
if {$force_write_cond_id ne ""} {
7+
set xp1 "[spdAux::getRoute $baseUN]/condition\[@n='$force_write_cond_id'\]/group"
8+
}
69
set groupNodes [$root selectNodes $xp1]
710
if {[llength $groupNodes] < 1} {
811
set xp1 "[spdAux::getRoute $baseUN]/group"
912
set groupNodes [$root selectNodes $xp1]
1013
}
1114
foreach groupNode $groupNodes {
12-
if {$cond_id eq ""} {set condid [[$groupNode parent] @n]} {set condid $cond_id}
15+
if {$force_write_cond_id eq ""} {set condid [[$groupNode parent] @n]} {set condid $force_write_cond_id}
1316
set groupid [get_domnode_attribute $groupNode n]
1417
set groupid [GetWriteGroupName $groupid]
15-
writeGroupNodeConditionByGiDId $groupNode $condid
18+
set mid 0
19+
if {$properties_dict ne "" && [dict exists $properties_dict $groupid]} {
20+
set mid [dict get $properties_dict $groupid]
21+
}
22+
writeGroupNodeConditionByGiDId $groupNode $condid $mid
1623

1724
}
1825
}
1926

2027

21-
proc write::writeGroupNodeConditionByGiDId {groupNode condid} {
28+
proc write::writeGroupNodeConditionByGiDId {groupNode condid {mid 0}} {
2229
set groupid [get_domnode_attribute $groupNode n]
2330
set groupid [GetWriteGroupName $groupid]
2431
if {[$groupNode hasAttribute ov]} {set ov [$groupNode getAttribute ov]} {set ov [[$groupNode parent ] getAttribute ov]}
@@ -27,7 +34,7 @@ proc write::writeGroupNodeConditionByGiDId {groupNode condid} {
2734
lassign [write::getEtype $ov $groupid] etype nnodes
2835
set kname [$cond getTopologyKratosName $etype $nnodes]
2936
if {$kname ne ""} {
30-
write::writeGroupConditionByGiDId $groupid $kname $nnodes
37+
write::writeGroupConditionByGiDId $groupid $kname $nnodes $mid
3138
} else {
3239
# If kname eq "" => no topology feature match, condition written as nodal
3340
if {[$cond hasTopologyFeatures]} {W "$groupid assigned to $condid - Selected invalid entity $ov with $nnodes nodes - Check Conditions.xml"}
@@ -38,7 +45,7 @@ proc write::writeGroupNodeConditionByGiDId {groupNode condid} {
3845
}
3946

4047

41-
proc write::writeGroupConditionByGiDId {groupid kname nnodes} {
48+
proc write::writeGroupConditionByGiDId {groupid kname nnodes { mid 0} } {
4249
set obj [list ]
4350

4451
# Print header
@@ -52,7 +59,7 @@ proc write::writeGroupConditionByGiDId {groupid kname nnodes} {
5259
set formats [dict create $groupid "${s}$id_f \n"]
5360
GiD_WriteCalculationFile nodes $formats
5461
} else {
55-
set formats [write::GetFormatDict $groupid 0 $nnodes]
62+
set formats [write::GetFormatDict $groupid $mid $nnodes]
5663
GiD_WriteCalculationFile connectivities $formats
5764
}
5865

kratos.gid/scripts/Writing/WriteProjectParameters.tcl

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,7 @@ proc write::GetDefaultOutputGiDDict { {appid ""} {gid_options_xpath ""} } {
461461
dict set resultDict nodal_results [GetResultsByXPathList $gid_nodes_xpath]
462462
set gid_elements_xpath "[spdAux::getRoute $results_UN]/container\[@n='OnElement'\]"
463463
dict set resultDict gauss_point_results [GetResultsByXPathList $gid_elements_xpath]
464+
dict set resultDict nodal_nonhistorical_results [list ]
464465

465466
dict set outputDict "result_file_configuration" $resultDict
466467
dict set outputDict "point_data_configuration" [GetEmptyList]
@@ -501,9 +502,9 @@ proc write::GetDefaultParametersOutputVTKDict { {appid ""} } {
501502
dict set resultDict folder_name "vtk_output"
502503
dict set resultDict save_output_files_in_folder "true"
503504
dict set resultDict nodal_solution_step_data_variables [GetResultsList $results_UN OnNodes]
504-
dict set resultDict nodal_data_value_variables []
505-
dict set resultDict element_data_value_variables []
506-
dict set resultDict condition_data_value_variables []
505+
dict set resultDict nodal_data_value_variables [list ]
506+
dict set resultDict element_data_value_variables [list ]
507+
dict set resultDict condition_data_value_variables [list ]
507508
dict set resultDict gauss_point_variables_extrapolated_to_nodes [GetResultsList $results_UN OnElement]
508509

509510
return $resultDict

0 commit comments

Comments
 (0)