@@ -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+
82107proc 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