Skip to content

Commit f2b2bac

Browse files
Merge branch 'master' into hotfix-dem-customsmp
2 parents 2b74bf3 + de80cf6 commit f2b2bac

5 files changed

Lines changed: 85 additions & 27 deletions

File tree

kratos.gid/apps/Buoyancy/write/write.tcl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ proc Buoyancy::write::Validate {} {
6262
proc Buoyancy::write::WriteMaterialsFile {{write_const_law True} {include_modelpart_name True} } {
6363
Fluid::write::WriteMaterialsFile $write_const_law $include_modelpart_name
6464
set model_part_name ""
65-
if {[write::isBooleanTrue $include_modelpart_name]} {set model_part_name ThermalModelPart}
65+
if {[write::isBooleanTrue $include_modelpart_name]} {set model_part_name [GetModelPartName]}
6666
write::writePropertiesJsonFile [GetAttribute parts_un] "BuoyancyMaterials.json" $write_const_law $model_part_name
6767
}
6868

@@ -94,6 +94,10 @@ proc Buoyancy::write::writeBoussinesqSubModelPart { } {
9494
GiD_Groups delete $groupid
9595
}
9696

97+
proc Buoyancy::write::GetModelPartName { } {
98+
return ThermalModelPart
99+
}
100+
97101
proc Buoyancy::write::GetAttribute {att} {
98102
return [Fluid::write::GetAttribute $att]
99103
}

kratos.gid/apps/ConjugateHeatTransfer/write/write.tcl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ proc ConjugateHeatTransfer::write::writeModelPartEvent { } {
5050

5151
proc ConjugateHeatTransfer::write::writeCustomFilesEvent { } {
5252
# Materials
53-
WriteMaterialsFile False False
53+
WriteMaterialsFile False True
5454

5555
# Main python script
5656
set orig_name [GetAttribute main_script_file]
@@ -78,6 +78,9 @@ proc ConjugateHeatTransfer::write::WriteMaterialsFile { {write_const_law True} {
7878
ConvectionDiffusion::write::WriteMaterialsFile $write_const_law $include_modelpart_name
7979
}
8080

81+
proc Buoyancy::write::GetModelPartName { } {
82+
return FluidThermalModelPart
83+
}
8184

8285
proc ConjugateHeatTransfer::write::GetAttribute {att} {
8386
variable writeAttributes

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

Lines changed: 67 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,10 @@ proc ConjugateHeatTransfer::write::GetSolverSettingsDict {} {
5353
dict set solver_settings_dict solid_domain_solver_settings thermal_solver_settings [dict get $ConjugateHeatTransfer::write::solid_domain_solver_settings solver_settings]
5454

5555
# Coupling settings
56-
set solid_interfaces_list [write::GetSubModelPartFromCondition CNVDFFBC SolidThermalInterface$::Model::SpatialDimension]
57-
set fluid_interfaces_list [write::GetSubModelPartFromCondition Buoyancy_CNVDFFBC FluidThermalInterface$::Model::SpatialDimension]
56+
set solid_interfaces_list_raw [write::GetSubModelPartFromCondition CNVDFFBC SolidThermalInterface$::Model::SpatialDimension]
57+
set fluid_interfaces_list_raw [write::GetSubModelPartFromCondition Buoyancy_CNVDFFBC FluidThermalInterface$::Model::SpatialDimension]
58+
foreach solid_interface $solid_interfaces_list_raw {lappend solid_interfaces_list [join [list ThermalModelPart $solid_interface] "."]}
59+
foreach fluid_interface $fluid_interfaces_list_raw {lappend fluid_interfaces_list [join [list FluidModelPart $fluid_interface] "."]}
5860

5961
set coupling_settings [dict create]
6062
dict set coupling_settings max_iteration [write::getValue CHTGeneralParameters max_iteration]
@@ -79,29 +81,75 @@ proc ConjugateHeatTransfer::write::GetProcessList { } {
7981

8082
return $processes
8183
}
84+
85+
86+
proc write::GetDefaultOutputProcessDict { {appid ""} } {
87+
# Output process must be placed inside json lists
88+
set gid_output_process_list [list ]
89+
set need_gid [write::getValue EnableGiDOutput]
90+
if {[write::isBooleanTrue $need_gid]} {
91+
lappend gid_output_process_list [write::GetDefaultGiDOutput $appid]
92+
}
93+
94+
set vtk_output_process_list [list ]
95+
set need_vtk [write::getValue EnableVtkOutput]
96+
if {[write::isBooleanTrue $need_vtk]} {
97+
lappend vtk_output_process_list [write::GetDefaultVTKOutput $appid]
98+
}
99+
100+
set outputProcessesDict [dict create]
101+
dict set outputProcessesDict gid_output $gid_output_process_list
102+
dict set outputProcessesDict vtk_output $vtk_output_process_list
103+
104+
return $outputProcessesDict
105+
}
106+
82107
proc ConjugateHeatTransfer::write::GetOutputProcessesList { } {
83108
set output_process [dict create]
84-
set gid_output_list [list]
109+
110+
set need_gid [write::getValue EnableGiDOutput]
111+
if {[write::isBooleanTrue $need_gid]} {
112+
# Set a different output_name for the fluid and solid domains
113+
set fluid_output [lindex [dict get $ConjugateHeatTransfer::write::fluid_domain_solver_settings output_processes gid_output] 0]
114+
dict set fluid_output Parameters output_name "[dict get $fluid_output Parameters output_name]_fluid"
115+
set solid_output [lindex [dict get $ConjugateHeatTransfer::write::solid_domain_solver_settings output_processes gid_output] 0]
116+
dict set solid_output Parameters output_name "[dict get $solid_output Parameters output_name]_solid"
117+
118+
set solid_nodal_variables [dict get $solid_output Parameters postprocess_parameters result_file_configuration nodal_results]
119+
set valid_list [list ]
120+
foreach solid_nodal_variable $solid_nodal_variables {
121+
if {$solid_nodal_variable in [list "TEMPERATURE"]} {
122+
lappend valid_list $solid_nodal_variable
123+
}
124+
}
125+
dict set solid_output Parameters postprocess_parameters result_file_configuration nodal_results $valid_list
85126

127+
# Append the fluid and solid output processes to the output processes list
128+
lappend gid_output_processes_list $fluid_output
129+
lappend gid_output_processes_list $solid_output
130+
dict set output_process gid_output_processes $gid_output_processes_list
131+
}
132+
133+
set need_vtk [write::getValue EnableVtkOutput]
134+
if {[write::isBooleanTrue $need_vtk]} {
86135
# Set a different output_name for the fluid and solid domains
87-
set fluid_output [lindex [dict get $ConjugateHeatTransfer::write::fluid_domain_solver_settings output_processes gid_output] 0]
88-
dict set fluid_output Parameters output_name "[dict get $fluid_output Parameters output_name]_fluid"
89-
set solid_output [lindex [dict get $ConjugateHeatTransfer::write::solid_domain_solver_settings output_processes gid_output] 0]
90-
dict set solid_output Parameters output_name "[dict get $solid_output Parameters output_name]_solid"
91-
92-
set solid_nodal_variables [dict get $solid_output Parameters postprocess_parameters result_file_configuration nodal_results]
93-
set valid_list [list ]
94-
foreach solid_nodal_variable $solid_nodal_variables {
95-
if {$solid_nodal_variable in [list "TEMPERATURE"]} {
96-
lappend valid_list $solid_nodal_variable
136+
set fluid_output [lindex [dict get $ConjugateHeatTransfer::write::fluid_domain_solver_settings output_processes vtk_output] 0]
137+
set solid_output [lindex [dict get $ConjugateHeatTransfer::write::solid_domain_solver_settings output_processes vtk_output] 0]
138+
139+
set solid_nodal_variables [dict get $solid_output Parameters nodal_solution_step_data_variables]
140+
set valid_list [list ]
141+
foreach solid_nodal_variable $solid_nodal_variables {
142+
if {$solid_nodal_variable in [list "TEMPERATURE"]} {
143+
lappend valid_list $solid_nodal_variable
144+
}
97145
}
98-
}
99-
dict set solid_output Parameters postprocess_parameters result_file_configuration nodal_results $valid_list
146+
dict set solid_output Parameters nodal_solution_step_data_variables $valid_list
100147

101-
# Append the fluid and solid output processes to the output processes list
102-
lappend gid_output_processes_list $fluid_output
103-
lappend gid_output_processes_list $solid_output
104-
dict set output_process gid_output_processes $gid_output_processes_list
148+
# Append the fluid and solid output processes to the output processes list
149+
lappend vtk_output_processes_list $fluid_output
150+
lappend vtk_output_processes_list $solid_output
151+
dict set output_process vtk_output_processes $vtk_output_processes_list
152+
}
105153

106154
return $output_process
107155
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ proc ConvectionDiffusion::write::getBodyForceProcessDict {} {
8484
dict set pdict "process_name" "AssignScalarVariableProcess"
8585
set params [dict create]
8686
set partgroup [write::getPartsSubModelPartId]
87-
dict set params "model_part_name" [concat [lindex $partgroup 0]]
87+
dict set params "model_part_name" [join [list [GetAttribute model_part_name] [lindex $partgroup 0]] "."]
8888
dict set params "variable_name" "HEAT_FLUX"
8989
dict set params "value" $value
9090
dict set params "constrained" false

kratos.gid/kratos.tcl

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -308,11 +308,14 @@ proc Kratos::TransformProblemtype {old_dom old_filespd} {
308308
# Check if current problemtype allows transforms
309309
if {[GiDVersionCmp 14.1.1d] < 0} { W "The minimum GiD version for a transform is '14.1.1d'\n Click Ok to try it anyway (You may lose data)" }
310310

311-
# Ask the user if it's ready to tranform
312-
set w [dialogwin_snit .gid._ask -title [_ "Transform"] -entrytext [_ "The model needs to be upgraded. Do you want to upgrade to new version? You can lose data"]]
313-
set action [$w createwindow]
314-
destroy $w
315-
if { $action < 1 } { return }
311+
# set ::Kratos_AskToTransform to 0 to not not ask if transform and old model, and automatically act like ok was pressed (e.g. to automatize in batch)
312+
if { ![info exists ::Kratos_AskToTransform] || $::Kratos_AskToTransform } {
313+
# Ask the user if it's ready to tranform
314+
set w [dialogwin_snit .gid._ask -title [_ "Transform"] -entrytext [_ "The model needs to be upgraded. Do you want to upgrade to new version? You can lose data"]]
315+
set action [$w createwindow]
316+
destroy $w
317+
if { $action < 1 } { return }
318+
}
316319

317320
# Get the old app
318321
set old_activeapp_node [$old_dom selectNodes "//hiddenfield\[@n='activeapp'\]"]

0 commit comments

Comments
 (0)