Skip to content

Commit 3c45a3d

Browse files
hotfix Conjugate heat transfer deprecations and vtk support
1 parent c38180a commit 3c45a3d

3 files changed

Lines changed: 76 additions & 21 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
}

0 commit comments

Comments
 (0)