Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion kratos.gid/apps/Structural/app.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,8 @@
"properties_location": "json",
"model_part_name": "Structure",
"output_model_part_name": "",
"enable_dynamic_substepping": true
"enable_dynamic_substepping": true,
"write_mdpa_mode": "geometries"
},
"main_launch_file": "../../exec/MainKratos.py",
"examples": "examples/examples.xml"
Expand Down
45 changes: 31 additions & 14 deletions kratos.gid/apps/Structural/write/write.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ proc ::Structural::write::Init { } {
SetAttribute main_launch_file [::Structural::GetAttribute main_launch_file]
SetAttribute model_part_name [::Structural::GetWriteProperty model_part_name]
SetAttribute output_model_part_name [::Structural::GetWriteProperty output_model_part_name]
SetAttribute write_mdpa_mode [::Structural::GetWriteProperty write_mdpa_mode]
}

# MDPA Blocks
Expand All @@ -53,25 +54,41 @@ proc ::Structural::write::writeModelPartEvent { } {
# Nodal coordinates (1: Print only Structural nodes <inefficient> | 0: the whole mesh <efficient>)
if {[GetAttribute writeCoordinatesByGroups] ne "all"} {write::writeNodalCoordinatesOnParts} {write::writeNodalCoordinates}

# Element connectivities (Groups on STParts)
write::writeElementConnectivities

# Local Axes
Structural::write::writeLocalAxes
if {[GetAttribute write_mdpa_mode] eq "geometries"} {
# Write geometries
# Get the list of groups in the spd
set lista [spdAux::GetListOfSubModelParts]

# Write the geometries
set ret [::write::writeGeometryConnectivities $lista]

# Hinges special section
Structural::write::writeHinges
# Write the submodelparts
set grouped_conditions [dict create]
foreach group $lista {
write::writeGroupSubModelPartAsGeometry [$group @n]
}

# Write Conditions section
Structural::write::writeConditions

# Custom SubmodelParts
set basicConds [write::writeBasicSubmodelParts [getLastConditionId]]
set ConditionsDictGroupIterators [dict merge $ConditionsDictGroupIterators $basicConds]
} else {
# Element connectivities (Groups on STParts)
write::writeElementConnectivities

# SubmodelParts
Structural::write::writeMeshes
# Local Axes
Structural::write::writeLocalAxes

# Hinges special section
Structural::write::writeHinges

# Write Conditions section
Structural::write::writeConditions

# Custom SubmodelParts
set basicConds [write::writeBasicSubmodelParts [getLastConditionId]]
set ConditionsDictGroupIterators [dict merge $ConditionsDictGroupIterators $basicConds]

# SubmodelParts
Structural::write::writeMeshes
}
}

proc ::Structural::write::writeConditions { {stage ""} } {
Expand Down
4 changes: 4 additions & 0 deletions kratos.gid/apps/Structural/write/writeProjectParameters.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,10 @@ proc ::Structural::write::getOldParametersDict { {stage ""} } {
dict set projectParametersDict solver_settings builder_and_solver_settings use_block_builder false
}


# Modelers if needed
set projectParametersDict [::write::GetModelersDict $projectParametersDict]

return $projectParametersDict
}

Expand Down
1 change: 1 addition & 0 deletions kratos.gid/scripts/Writing/WriteMaterials.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,7 @@ proc write::getPropertiesListByConditionXPath {cnd_xpath {write_claw_name "True"
set props [list ]

# first property
# TODO: Remove this when gid_output_process.py is fixed
set first [dict create "model_part_name" $model_part_name "properties_id" 0 "Material" [dict create Variables [dict create]]]
lappend props $first

Expand Down