From fbca7e9326b16e3139cc9729dbb95376cfbbe3e0 Mon Sep 17 00:00:00 2001 From: gforney Date: Fri, 1 May 2026 13:47:04 -0400 Subject: [PATCH 1/4] smv vv: put slower cases first, increase number of possible background cases to 10 --- Verification/scripts/SMV_Cases.bat | 30 +++++++++++++++-------------- Verification/scripts/background.bat | 2 +- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/Verification/scripts/SMV_Cases.bat b/Verification/scripts/SMV_Cases.bat index 7db1eabd6..cec1baee2 100644 --- a/Verification/scripts/SMV_Cases.bat +++ b/Verification/scripts/SMV_Cases.bat @@ -1,3 +1,4 @@ + @echo off set exe=%1 set option=%2 @@ -8,27 +9,35 @@ set verdir=%CD% set run=call :runit %exe% %option% +%run% Visualization geom1 +%run% Visualization geom2 +%run% Visualization obst_test4 +%run% Visualization thouse5 +%run% Visualization plume5c +%run% Visualization test2 +%run% Visualization script_test +%run% Visualization obst_remove +%run% Visualization vectorskipx +%run% Visualization vectorskipy +%run% Visualization vectorskipz +%run% Visualization smoke_sensor +%run% Visualization testsort +%run% Visualization sprinkler_many + %run% Visualization cad_test %run% Visualization cell_test %run% Visualization colorbar %run% Visualization colorbar2 %run% Visualization color_geom -%run% Visualization geom1 -%run% Visualization geom2 %run% Visualization hvac_comp %run% Visualization mplume5c8 %run% Visualization objects_dynamic %run% Visualization objects_elem -%run% Visualization obst_remove %run% Visualization objects_static %run% Visualization obst_test1 -%run% Visualization obst_test4 %run% Visualization part_color -%run% Visualization plume5c -%run% Visualization script_test %run% Visualization sillytexture %run% Visualization slicemask -%run% Visualization smoke_sensor %run% Visualization smoke_test %run% Visualization smoke_test3 %run% Visualization smoke1 @@ -40,15 +49,8 @@ set run=call :runit %exe% %option% %run% Visualization smokex080 %run% Visualization smokex160 %run% Visualization smoke_test2 -%run% Visualization sprinkler_many -%run% Visualization test2 -%run% Visualization testsort -%run% Visualization thouse5 %run% Visualization tour %run% Visualization vcirctest -%run% Visualization vectorskipx -%run% Visualization vectorskipy -%run% Visualization vectorskipz %run% Visualization version %run% Visualization version2 diff --git a/Verification/scripts/background.bat b/Verification/scripts/background.bat index 762300512..ea11a13f4 100644 --- a/Verification/scripts/background.bat +++ b/Verification/scripts/background.bat @@ -1,7 +1,7 @@ @echo off setlocal ENABLEDELAYEDEXPANSION -set "MAX_INSTANCES=5" +set "MAX_INSTANCES=10" set "PROCESS_NAME=fds_impi_intel_win.exe" if "%~1"=="" ( From 85d864c526f99fbc84c4f096113b84a36be02029 Mon Sep 17 00:00:00 2001 From: gforney Date: Fri, 1 May 2026 15:36:50 -0400 Subject: [PATCH 2/4] smv vv: take cases out of fds case list with long run time --- Verification/scripts/FDS_Cases.bat | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Verification/scripts/FDS_Cases.bat b/Verification/scripts/FDS_Cases.bat index 6f65b6436..1bde261ed 100644 --- a/Verification/scripts/FDS_Cases.bat +++ b/Verification/scripts/FDS_Cases.bat @@ -46,16 +46,12 @@ set run=call :runit %exe% %option% %run% Detectors objects_static %run% Detectors objects_dynamic %run% Fires couch -%run% Flowfields helium_2d_isothermal %run% Flowfields symmetry_test %run% Flowfields symmetry_test_2 %run% Flowfields symmetry_test_mpi %run% Flowfields jet_fan -%run% Flowfields velocity_bc_test -%run% Heat_Transfer checkerboard %run% Heat_Transfer ht3d_demo %run% Heat_Transfer ht3d_ibeam -%run% Heat_Transfer ht3d_network %run% HVAC HVAC_mass_conservation %run% HVAC HVAC_energy_pressure %run% HVAC leak_test_2 @@ -66,7 +62,6 @@ set run=call :runit %exe% %option% %run% Miscellaneous obst_cone %run% Miscellaneous obst_rotbox %run% NS_Analytical_Solution ns2d_64 -%run% Pressure_Effects pressure_boundary %run% Pressure_Solver dancing_eddies_embed %run% Pressure_Solver dancing_eddies_tight %run% Scalar_Analytical_Solution move_slug From 1090fe3f3e026f4706833395d3e34afd7c3bf109 Mon Sep 17 00:00:00 2001 From: gforney Date: Fri, 1 May 2026 16:12:32 -0400 Subject: [PATCH 3/4] smv vv: remove 2 cases from case list --- Verification/scripts/FDS_Cases.bat | 2 -- 1 file changed, 2 deletions(-) diff --git a/Verification/scripts/FDS_Cases.bat b/Verification/scripts/FDS_Cases.bat index 1bde261ed..9cd714ba0 100644 --- a/Verification/scripts/FDS_Cases.bat +++ b/Verification/scripts/FDS_Cases.bat @@ -45,12 +45,10 @@ set run=call :runit %exe% %option% %run% Detectors beam_detector %run% Detectors objects_static %run% Detectors objects_dynamic -%run% Fires couch %run% Flowfields symmetry_test %run% Flowfields symmetry_test_2 %run% Flowfields symmetry_test_mpi %run% Flowfields jet_fan -%run% Heat_Transfer ht3d_demo %run% Heat_Transfer ht3d_ibeam %run% HVAC HVAC_mass_conservation %run% HVAC HVAC_energy_pressure From f01d9dedfffd2766916c3d2c7de298114759c91f Mon Sep 17 00:00:00 2001 From: gforney Date: Fri, 1 May 2026 23:33:18 -0400 Subject: [PATCH 4/4] smv vv: add image comparison script for fds cases --- Verification/scripts/CompareFDSPictures.bat | 242 ++++++++++++++++++++ Verification/scripts/FDS_Cases.bat | 1 - 2 files changed, 242 insertions(+), 1 deletion(-) create mode 100644 Verification/scripts/CompareFDSPictures.bat diff --git a/Verification/scripts/CompareFDSPictures.bat b/Verification/scripts/CompareFDSPictures.bat new file mode 100644 index 000000000..a2155207d --- /dev/null +++ b/Verification/scripts/CompareFDSPictures.bat @@ -0,0 +1,242 @@ +@echo off +setlocal enabledelayedexpansion + +call :is_file_installed magick +if %nothave% == 0 goto skip1 + echo to find a windows installer for imagemagick + echo do a web search for imagemagick download + echo script exiting + exit /b +:skip1 + +set CURDIR=%CD% + +cd ..\..\..\fig\fds\Reference_Figures +set FROMDIR=%CD% +set DIFFDIR=%CURDIR%\DIFFS + +if exist "%DIFFDIR%" rmdir /s /q "%DIFFDIR%" +mkdir "%DIFFDIR%" + +cd %CURDIR%\..\..\..\fds\Manuals\ +set MANDIR=%CD% + +cd %MANDIR%\FDS_User_Guide\SCRIPT_FIGURES +set TODIR=%CD% + +cd %CURDIR%\..\..\..\fds +set FDSREPODIR=%CD% + +git describe --dirty --long > %CURDIR%\fdsrepo.txt +set /p FDSREPOREVISION=<%CURDIR%\fdsrepo.txt + +cd %CURDIR%\..\..\..\smv +set SMVREPODIR=%CD% +git describe --dirty --long > %CURDIR%\smvrepo.txt +set /p SMVREPOREVISION=<%CURDIR%\smvrepo.txt + +cd %CURDIR%\..\..\..\fig +set FIGREPODIR=%CD% +git describe --dirty --long > %CURDIR%\figrepo.txt +set /p FIGREPOREVISION=<%CURDIR%\figrepo.txt + +set GAWK=%SMVREPODIR%\Verification\scripts\bin\gawk.exe +set SORT=%SMVREPODIR%\Verification\scripts\bin\sort.exe +set GREP=%SMVREPODIR%\Verification\scripts\bin\grep.exe +set WC=%SMVREPODIR%\Verification\scripts\bin\wc.exe + +set SMVBASE=smokeview_win.exe +set SMVDIR=%CURDIR%\..\..\Build\smokeview\intel_win +set SMVEXE=%SMVDIR%\%SMVBASE% +%SMVEXE% -v 2>nul | %GREP% Revision | %GREP% SMV | %GAWK% "{print $3}" > %CURDIR%\smvrevision.txt +set /p SMOKEVIEWREVISION=<%CURDIR%\smvrevision.txt + +set BLURFROMDIR=%CURDIR%\blurfrom +if exist %BLURFROMDIR% rmdir /s /q %BLURFROMDIR% +mkdir %BLURFROMDIR% + +set BLURTODIR=%CURDIR%\blurto +if exist %BLURTODIR% rmdir /s /q %BLURTODIR% +mkdir %BLURTODIR% + +cd %CURDIR%\..\..\Manuals\SMV_Summary +set SUMMARYDIR=%CD% + +set WEBFROMDIR=%SUMMARYDIR%\diffs\base +set WEBTODIR=%SUMMARYDIR%\images +set WEBDIFFDIR=%SUMMARYDIR%\diffs\images + +set HTMLFILE=%SUMMARYDIR%\index.html + +for %%d in ( FDS_User_Guide FDS_Verification_Guide ) do ( +if %%d == FDS_User_Guide set FILELIST=%CURDIR%\user_filelist.txt +if %%d == FDS_Verification_Guide set FILELIST=%CURDIR%\veri_filelist.txt +if exist !FILELIST! erase !FILELIST! +cd %MANDIR%\%%d\SCRIPT_FIGURES +for %%f in (*.png) do ( + set "FROMFILE=%FROMDIR%\%%f" + set "TOFILE=%%f" + set "BLURFROMFILE=%BLURFROMDIR%\%%f" + set "BLURTOFILE=%BLURTODIR%\%%f" + set "DIFFFILE=%DIFFDIR%\%%f" + set "OUTFILE=%DIFFDIR%\%%f.txt" + if exist "!FROMFILE!" if exist "!TOFILE!" ( + echo comparing %%f + magick "!FROMFILE!" -blur 0x2 "!BLURFROMFILE!" + magick "!TOFILE!" -blur 0x2 "!BLURTOFILE!" + + magick compare -metric RMSE "!BLURFROMFILE!" "!BLURTOFILE!" "!DIFFFILE!" > "!OUTFILE!" 2>&1 + magick "!BLURFROMFILE!" "!BLURTOFILE!" -compose difference -composite -negate "!DIFFFILE!" + %GAWK% -v fname="%%f" -F"[()]" "{ if ($2 < 0.02) $2 = 0; print fname, $2 }" !OUTFILE! >> !FILELIST! + ) +) +) + +cd %CURDIR% + +%SORT% -k2,2gr user_filelist.txt -o user_filelist.txt +%SORT% -k2,2gr veri_filelist.txt -o veri_filelist.txt + +%GAWK% -f zero.awk user_filelist.txt > user_zerolist.txt +%GAWK% -f zero.awk veri_filelist.txt > veri_zerolist.txt +%GAWK% -f nonzero.awk user_filelist.txt > user_nonzerolist.txt +%GAWK% -f nonzero.awk veri_filelist.txt > veri_nonzerolist.txt +type user_filelist.txt > total_filelist.txt +type veri_filelist.txt >> total_filelist.txt + +%GAWK% -f nonzero.awk total_filelist.txt | wc -l > differences_totallist.txt +set /p ndiffs= errors_totallist.txt +set /p nerrors= +echo ^ +echo ^ %FDSREPOREVISION% %date% %time% ^ +echo ^ +echo ^ + +echo ^ Image Comparison Summary %date% %time% ^ +echo ^^ +echo ^^FDS version:^^%FDSVERSION%^^ +echo ^^FDS revision:^^%FDSREVISION%^^ +echo ^^Smokeview version:^^%SMOKEVIEWREVISION%^^ +echo ^^SMV revision:^^%SMVREPOREVISION%^^ +echo ^^FIG revision:^^%FIGREPOREVISION%^^ +echo ^^Metric/Tolerance:^^0.2^^ +echo ^^Difference/Errors:^^%ndiffs%/%nerrors%^^ +echo ^ + +for %%d in (FDS_User_Guide FDS_Verification_Guide) do ( +if %%d == FDS_User_Guide echo ^ +if %%d == FDS_Verification_Guide echo ^ + +if %%d == FDS_User_Guide echo ^Changed User Images^ +if %%d == FDS_Verification_Guide echo ^Changed Verification Images^ + +if %%d == FDS_User_Guide set FILELOOP=%CURDIR%\user_nonzerolist.txt +if %%d == FDS_Verification_Guide set FILELOOP=%CURDIR%\veri_nonzerolist.txt + +if %%d == FDS_User_Guide echo [Changed User Images] +if %%d == FDS_Verification_Guide echo [^Changed User Images^] + echo [^Unchanged User Images ^] +if %%d == FDS_User_Guide echo [^Changed Verification Images ^] +if %%d == FDS_Verification_Guide echo [Changed Verification Images] +echo [^Unchanged Verification Images^] + +echo ^ +echo ^^Reference^^Current^^Difference^^ +cd %MANDIR%\%%d\SCRIPT_FIGURES +for /f "tokens=1,2" %%A in (!FILELOOP!) do ( + set "FROMFILE=%FROMDIR%\%%A" + set "TOFILE=%%A" + set "DIFFFILE=%DIFFDIR%\%%A" + set "OUTFILE=%DIFFDIR%\%%A.txt" + if exist "!FROMFILE!" if exist "!TOFILE!" ( + copy !FROMFILE! %WEBFROMDIR%\%%A >NUL 2>&1 + copy !TOFILE! %WEBTODIR%\%%A >NUL 2>&1 + copy !DIFFFILE! %WEBDIFFDIR%\%%A >NUL 2>&1 + echo ^ + echo ^^^ + echo ^^^ + echo ^^^ + echo ^ + echo ^^
%%A - %%B^^ + ) +) +echo ^ + +if %%d == FDS_User_Guide echo ^ +if %%d == FDS_Verification_Guide echo ^ + +if %%d == FDS_User_Guide echo ^Unchanged User Images^ +if %%d == FDS_Verification_Guide echo ^Unchanged Verification Images^ + +echo [^Changed User Images ^] +if %%d == FDS_User_Guide echo [Unchanged User Images] +if %%d == FDS_Verification_Guide echo [^Unchanged User Images ^] + echo [^Changed Verification Images ^] +if %%d == FDS_User_Guide echo [^Unchanged Verification Images^] +if %%d == FDS_Verification_Guide echo [Unchanged Verification Images] + +if %%d == FDS_User_Guide set FILELOOP=%CURDIR%\user_zerolist.txt +if %%d == FDS_Verification_Guide set FILELOOP=%CURDIR%\veri_zerolist.txt + +echo ^ +echo ^ +set count=0 +cd %MANDIR%\%%d\SCRIPT_FIGURES +for /f "tokens=1,2" %%A in (!FILELOOP!) do ( + set "FROMFILE=%FROMDIR%\%%A" + set "TOFILE=%%A" + set "DIFFFILE=%DIFFDIR%\%%A" + set "OUTFILE=%DIFFDIR%\%%A.txt" + if exist "!FROMFILE!" if exist "!TOFILE!" ( + copy !FROMFILE! %WEBFROMDIR%\%%A >NUL 2>&1 + copy !TOFILE! %WEBTODIR%\%%A >NUL 2>&1 + copy !DIFFFILE! %WEBDIFFDIR%\%%A >NUL 2>&1 + set /a count+=1 + echo ^
^^%%A ^ + if !count! geq 4 echo ^^ + if !count! geq 4 set count=0 + ) +) +echo ^ +echo ^ + +) +echo ^^ +echo ^ +echo ^ +) > %HTMLFILE% +start explorer %HTMLFILE% + +goto eof + +:: ------------------------------------------------------------- +:is_file_installed +:: ------------------------------------------------------------- + + set program=%1 + %program% --help 1> %temp%\file_exist.txt 2>&1 + type %temp%\file_exist.txt | find /i /c "not recognized" > %temp%\file_exist_count.txt + set /p nothave=<%temp%\file_exist_count.txt + if %nothave% == 1 ( + echo ***error: %program% not installed or not in path + exit /b 1 + ) + exit /b 0 + +:eof + + diff --git a/Verification/scripts/FDS_Cases.bat b/Verification/scripts/FDS_Cases.bat index 9cd714ba0..a2b64ec3b 100644 --- a/Verification/scripts/FDS_Cases.bat +++ b/Verification/scripts/FDS_Cases.bat @@ -38,7 +38,6 @@ set run=call :runit %exe% %option% %run% Complex_Geometry geom_texture4a %run% Complex_Geometry geom_texture4b %run% Complex_Geometry sphere_radiate -%run% Complex_Geometry sphere_helium_conserve_3meshes %run% Complex_Geometry cone_1mesh %run% Complex_Geometry t34_scaling %run% Controls activate_vents