@@ -29,9 +29,9 @@ proc PfemFluid::write::getNewParametersDict { } {
2929 set processList [GetPFEM_ProcessList]
3030 dict set projectParametersDict processes $processList
3131
32- # #### Restart
33- # set output_process_list [GetPFEM_OutputProcessList ]
34- # dict set projectParametersDict output_process_list $output_process_list
32+ # #### WaveMonitor, Restart
33+ set output_processes_list [GetPFEM_OutputProcesses ]
34+ dict set projectParametersDict output_processes $output_processes_list
3535
3636 # #### output_configuration
3737 # dict set projectParametersDict output_configuration [write::GetDefaultOutputDict]
@@ -157,11 +157,66 @@ proc PfemFluid::write::GetPFEM_SolverSettingsDict { } {
157157 return $solverSettingsDict
158158}
159159
160+ proc PfemFluid::write::GetPFEM_OutputProcesses { } {
161+ set resultList [dict create]
162+
163+ set output_process_list [GetPFEM_OutputProcessList]
164+ # dict lappend resultList output_list $output_process_list
165+ dict set resultList output_list $output_process_list
166+ return $resultList
167+ }
168+
169+
160170proc PfemFluid::write::GetPFEM_OutputProcessList { } {
171+
161172 set resultList [list ]
162- # lappend resultList [write::GetRestartProcess Restart]
173+
174+ set xp1 " [ spdAux::getRoute " WaveMonitor" ] /group"
175+ set groups_wave_height [[customlib::GetBaseRoot] selectNodes $xp1 ]
176+ foreach group $groups_wave_height {
177+ set process [dict create]
178+ dict set process " python_module" " wave_height_output_process"
179+ dict set process " kratos_module" " KratosMultiphysics.PfemFluidDynamicsApplication"
180+ set parameters [GetPFEM_WaveParameters $group ]
181+ dict set process Parameters $parameters
182+
183+ lappend resultList $process
184+ }
163185 return $resultList
164186}
187+
188+
189+ proc PfemFluid::write::GetPFEM_WaveParameters { group } {
190+
191+ set parametersWave [dict create]
192+
193+ # set group_id [::write::getSubModelPartId WaveMonitor [$group @n]]
194+ # dict set parametersWave model_part_name [write::GetModelPartNameWithParent $group_id PfemFluidModelPart]
195+ dict set parametersWave model_part_name " PfemFluidModelPart"
196+
197+ set coordinates [list ]
198+ foreach node [GiD_EntitiesGroups get [$group @n] nodes ] {
199+ set coords [GiD_Mesh get node $node coordinates]
200+ lappend coordinates $coords
201+ }
202+ dict set parametersWave " coordinates" $coordinates
203+
204+ set WaveCalculationSetting [dict create]
205+ dict set WaveCalculationSetting " mean_water_level" [write::getValueByNodeChild $group MeanWaterLevel]
206+ dict set WaveCalculationSetting " relative_search_radius" [write::getValueByNodeChild $group RelativeSearchRadius]
207+ dict set parametersWave wave_calculation_settings $WaveCalculationSetting
208+
209+ set OutputFileSettings [dict create]
210+ dict set OutputFileSettings " file_name" " gauge_<i>"
211+ dict set OutputFileSettings " output_path" [write::getValueByNodeChild $group FolderName]
212+ dict set parametersWave output_file_settings $OutputFileSettings
213+
214+ dict set parametersWave " time_between_outputs" [write::getValueByNodeChild $group TimeBetweenOutputs]
215+
216+ return $parametersWave
217+ }
218+
219+
165220proc PfemFluid::write::GetPFEM_ProblemProcessList { free_surface_heat_flux free_surface_thermal_face } {
166221 set resultList [list ]
167222 set problemtype [write::getValue PFEMFLUID_DomainType]
0 commit comments